Latest patch parses 1.1 pages with 2.0

G

Guest

Hi,

I have a .net 1.1 app. With the latest patch, some pages are being
consistently parsed with the .Net 2.0 framework. There is a particular class
of page that is being consistently parsed as 2.0. All other pages are fine.
1.1 is the registered framework.

Uninstalling the 2.0 framework fixed the problem. Server is 2K3 standard.

On other servers I've had similar issues (attempting to parse the web.config
file with 2.0).

Anyone else experienced this?
 
G

Guest

It looks like the application has the default framework version set to 2.0
(In IIS Manager / ASP.Net tab)
 
G

Guest

It looks like the application has the default framework version set to 2.0
(In IIS Manager / ASP.Net tab)

No. the default framework is 1.1 (which I mentioned above).

Even if the default framework were 2.0, that doesn't explain why some pages
get parsed with 2.0 and some with 1.1.
 
J

Juan T. Llibre

re:
!> Even if the default framework were 2.0, that doesn't explain why some pages
!> get parsed with 2.0 and some with 1.1.

Please open a command window at :
Drive:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
....and run

aspnet_regiis -lk

That will list all your applications and tell you which framework each app is running.

You might be surprised by the results.
 
G

Guest

I uninstalled the 2.0 framework from the machine that was showing the
specific issues. Regardless, I was running aspnet_regiis.exe -r in the
v1.1.4322 directory.

That does not explain several issues:
- why 2.0 automatically registered itself as the default framework
- why the web.config file was consistently being parsed by 2.0, right after
running aspnet_regiis.exe -r
- why some pages were being parsed with 1.1 and some with 2.0
 
G

Guest

I should add, I've had other machines show similar issues. While I haven't
had machines parse some pages with 2.0 and some with 1.1, I have seen 2.0
register as the default framework, and the parsing the config file issue.
 
J

Juan T. Llibre

Did you check out what I suggested ?

----------------
Please open a command window at :
Drive:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
....and run

aspnet_regiis -lk

That will list all your applications and tell you which framework each app is running.
----------------
 
J

Juan T. Llibre

Did you check out what I suggested ?

----------------
Please open a command window at :
Drive:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
....and run

aspnet_regiis -lk

That will list all your applications and tell you which framework each app is running.
----------------
 
G

Guest

Yes I did what you suggested, however given that I have uninstalled 2.0 on
the server in question, it lists all sites as 1.1.
 
G

Guest

A dime gets you a buck that your uninstallation of 2.0 was unwarranted.

You'd lose, however I'm hardly likely to install on that production server
again.

Anway...

Riddle me this, I have another server with similar issues. aspnet_regiis -lk
returns 1.1 for all sites running on the server. However hitting the server
returns:

"Configuration Error"

"Line 117: <httpRuntime
Line 118: executionTimeout="90"
Line 119: maxRequestLength="500000000"
Line 120: useFullyQualifiedRedirectUrl="false"
Line 121: minFreeThreads="

"Version Information: Microsoft .NET Framework Version:2.0.50727.832;
ASP.NET Version:2.0.50727.832"

This is one of the issues I referred to earlier. 2.0 has no business parsing
the file.
 
J

Juan T. Llibre

re:
!> I have another server with similar issues. aspnet_regiis -lk returns 1.1
!> for all sites running on the server. However hitting the server returns:

!> "Configuration Error"
!> "Version Information: Microsoft .NET Framework Version:2.0.50727.832;
!> ASP.NET Version:2.0.50727.832"

While all your sites are configured for 1.1, the root site is configured for 2.0.

You can confirm this by :

1. right clicking "Web Sites" in the IIS Manager,
and selecting "Properties" and then the "ASP.NET" tab.

2. right clicking "Default Web Site" in the IIS Manager,
and selecting "Properties" and then the "ASP.NET" tab.

One of the two is configured for the .Net Framework 2.0.
 
G

Guest

I can't confirm that, as I have re-registered all sites with 1.1.

However I do have a command prompt open from before I registered all as 1.1,
but was recieving the error. It includes the results from a call to
aspnet-regiis -lk. It reads:

W3SVC/ 1.1.4322.2407
W3SVC/1370742412/root/ 1.1.4322.2407
W3SVC/1453161142/root/ 1.1.4322.2407
W3SVC/2034039847/root/ 1.1.4322.2407
W3SVC/2080259255/root/ 1.1.4322.2407
W3SVC/2116458577/root/ 1.1.4322.2407
W3SVC/370149253/root/ 1.1.4322.2407
W3SVC/384844167/root/ 1.1.4322.2407
W3SVC/891393290/root/ 1.1.4322.2407

This is calling aspnet-regiis -lk for 2.0. There is no default site and you
can see that the root site is registered for 1.1.

Are you telling me that I would get different results if I had checked this
from the MMC plugin? I'd be very surprised if that were the case.
 
J

Juan T. Llibre

re:
!> This is calling aspnet-regiis -lk for 2.0.

Actually, that's calling aspnet_regiis -lk

re:
!> There is no default site and you can see that the root site is registered for 1.1.

Yes but, in spite of that, the "Default Web Site" might be registered to 2.0,
and/or the "Web Sites" might be registered to 2.0.

re:
!> Are you telling me that I would get different results if I had checked this
!> from the MMC plugin? I'd be very surprised if that were the case.

What stops you from opening the IIS Manager and seeing for yourself ?
 
G

Guest

Yes but, in spite of that, the "Default Web Site" might be registered to 2.0,
and/or the "Web Sites" might be registered to 2.0.

There is no default web site. It has been removed. Are you saying that there
is some other sort of default website? Just to be clear on what I mean, when
I say default website I mean the website that ships with IIS.
What stops you from opening the IIS Manager and seeing for yourself ?

Nothing. Did you read my comment where I said:
"I can't confirm that, as I have re-registered all sites with 1.1."

Hence opening the IIS manager shows ... wait for it ... all sites as 1.1.
 
G

Guest

If you do have it, please right-click "Web Sites", select "Properties" and
then the "ASP.NET" tab.
Jot down the ASP.NET version the ASP.NET tab reports...and post it.

It reports 1.1. Same as the aspnet_regiis -lk listing I posted.
Question for you : For your "1.1 sites", have you created IIS *web sites* or *ASP.NET applications* ?
It makes a lot of difference which one you've used.

I know. These are IIS web sites.

Now, back to the issues.

You are in luck, one of the sites is malfunctioning again, on one of the
test servers that I can play with. It is worth noting that this is a site
that was definitely registered to 1.1 prior to a reboot on the server.

The site in question is 2034039847.

Now the output of aspnet_regiis -lk in the 1.1 directory is:
W3SVC/ 1.1.4322.0
W3SVC/1370742412/root/ 1.1.4322.0
W3SVC/1453161142/root/ 1.1.4322.0
W3SVC/2034039847/root/ 1.1.4322.0
W3SVC/2080259255/root/ 1.1.4322.0
W3SVC/2116458577/root/ 1.1.4322.0
W3SVC/370149253/root/ 1.1.4322.0
W3SVC/384844167/root/ 1.1.4322.0
W3SVC/891393290/root/ 1.1.4322.0

The output of aspnet_regiis -lk in the 2.0 directory is:
W3SVC/ 1.1.4322.0
W3SVC/1370742412/root/ 1.1.4322.0
W3SVC/1453161142/root/ 1.1.4322.0
W3SVC/2034039847/root/ 1.1.4322.0
W3SVC/2080259255/root/ 1.1.4322.0
W3SVC/2116458577/root/ 1.1.4322.0
W3SVC/370149253/root/ 1.1.4322.0
W3SVC/384844167/root/ 1.1.4322.0
W3SVC/891393290/root/ 1.1.4322.0

(identical)

The properties for the root site in the MMC plugin show the .Net version as
1.1. The properties for the specific site in the MMC plugin show the .Net
version as 1.1.

I think at this point we have established that 1.1 is the registered
framework. Agreed?

I would copy in your identity file however the site is returning the same
configuration error as earlier:
Configuration Error
....
Parser Error Message: The value for the property 'maxRequestLength' is not
valid. The error is: The value must be inside the range 0-2097151.
....
Line 117: <httpRuntime
Line 118: executionTimeout="90"
Line 119: maxRequestLength="500000000"
Line 120: useFullyQualifiedRedirectUrl="false"
Line 121: minFreeThreads="8"
....
Source File: <path>\web.config Line: 119
Version Information: Microsoft .NET Framework Version:2.0.50727.832; ASP.NET
Version:2.0.50727.832

Just to be clear, I have removed the path in the code above and replaced it
with <path>.

Now I could fix the config file to run happily under 2.0, and then copy your
identity.aspx file in. That doesn't change the fact that there is a serious
bug here. 2.0 is parsing a config file while everything is reporting that 1.1
is the active framework.
 
J

Juan T. Llibre

re:
!> That doesn't change the fact that there is a serious bug here.

Maybe; maybe not. You could also have a bad install.

Or, you could have a configuration element which you've configured/misconfigured
but now don't have any more access to, for whatever reason.

re:
!> 2.0 is parsing a config file while everything is reporting that 1.1 is the active framework.

How did you "uninstall" the .Net Framework 2.0 ?

I suspect that what you call an "active framework" is simply that you have reconfigured
your sites to run under 1.1, but that the .Net Framework 2.0 is still registered with IIS
and is, therefore, still active.

See below for the instructions to *uninstall* the .Net Framework 2.0

re:
!> I think at this point we have established that 1.1 is the registered framework. Agreed?

Nope. What we have established is that you have a number
of *sites* configured to run under the .Net Framework 1.1.

If you truly have no need for the .Net Framework 2.0, uninstall it by going to
the Windows Control Panel, opening the "Add or Remove Programs" tool,
finding the entry for the .Net Framework 2.0, selecting it and clicking the
"Change/Remove" button.

If you don't want to *physically* uninstall the .Net Framework 2.0, just run

aspnet_regiis -u

from :
drive:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

That will uninstall the .Net Framework 2.0 from IIS's mappings, but will not delete the Framework's files.
That means that you could, later, reinstall it, but that it will not run under IIS until you reinstall it.

All existing scriptmaps mapped to the .Net Framework 2.0 will be remapped to the
highest remaining version of ASP.NET installed on the machine (1.1 in your case).

Once you've done that, *then* only the .Net Framework 1.1 will be active on that machine.

re:
!> Now I could fix the config file to run happily under 2.0, and then copy your identity.aspx file in.

What you're seeing is not a 2.0-specific feature.
The maxRequestLength default size is the same for both 1.1 and 2.0.

re:
!> maxRequestLength="500000000"

How did you ever end up with that number ?

maxRequestLength indicates the maximum file upload size supported by ASP.NET, in KB.
The default is 4096 (4 MB), both for the .Net Framework 1.1 and 2.0.

What's specified in your config file is that maxrequestLength is 500,000,000 KB = 500 GB!
I don't think you want to have people upload 500GB files to your server. :)

Change that to a number which reflects the maximum size file upload you want to support.
If you want to support 8MB file uploads, change it to 8192. If 16MB, change it to 16384.

That will immediately allow you to run the identiy.aspx code I sent you.
Run it and post back the results.

Fiddling with configuration files without knowing what
a parameter does is the easiest way to wreck a server.

I recommend that you study, very carefully, configuration parameters before changing them.

....and don't forget to, at least, run aspnet_regiis -u
from the .Net Framework 2.0 directory, if you truly have no need to run 2.0 code.

Doing that will immediately end the 2.0 file processing you're seeing.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,969
Messages
2,570,161
Members
46,710
Latest member
bernietqt

Latest Threads

Top