问题
I have a ASP.NET 3.5 website running on Windows Server 2003 and I'm using the ASP.NET State Service to manage sessions. It will appear to be working then I regularly get an error saying my code needs to have version 2.0 of the State Service running to work (I think that's what it said, I've temporarily switched back to storing sessions InProc). Refresh the page and the error goes away (for a bit, it's bound to come back).
So I looked at the properties of the ASP.NET State Service in the Services interface and it's mapping to a .exe in the 1.1 framework folder:
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_state.exe
There's a corresponding version in the 2.0 framework folder, but I don't know how to add it as a new service. I'm also not sure that adding the 2.0 version (and stopping and/or removing the 1.1 version) will solve the problem.
Thanks in advance for any help anyone can provide.
Mick
回答1:
I had a similar problem running ASP.net 4 side by side with ASP.net 2.0 on Win Server 2003 SP3 and all in 32bit mode.
At some stage something nuked the ASPNET_State from the C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 directory but had failed to tell the ASPNET_State server that it should now be pointing to C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\ASPNET_State.exe. I can only imagine it was when .Net 4 was installed but I can't be sure.
So I ran
sc config aspnet_state binpath= C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_state.exe
and it all seemed to work fine after that.
(Please note the space after 'binpath= ' - I fear the person who made the original post (Mick Byrne) did not put this in and thus explains why... "However this just doesn't work at all and just brings up the usage instructions for this branch of the 'sc' command" - see comments in original post)
回答2:
OK, found a solution somewhere else that appears to have worked. Almost the same as the above answer:
- Go to .NET2.0 directory in command prompt
- run 'aspnet_regiis -i -enable'
- computer sits there chewing for a minute and then it all seems to be working.
I checked the 'ASP.NET State Service' in the Services console and it's now pointing to the .NET2.0 version (not the .NET1.1).
The only strange thing I did that may have led to this scenario was to install .NET3.5 straight onto a box that previously only had .NET1.1 installed. I figured it would put .NET2.0 in along the way (which it kind of did), but must have forgotten about the session thing.
回答3:
You can run aspnet_regiis -? From the framework 2.0 directory to update the web site.
来源:https://stackoverflow.com/questions/1371944/problems-with-asp-net-state-service-version-state-service-is-1-1-website-is-3