我有一个在Windows Server 2003上运行的ASP.NET 3.5网站,我正在使用ASP.NET状态服务来管理会话。它似乎工作然后我经常得到一个错误,说我的代码需要运行状态服务的2.0版本工作(我认为这就是它所说的,我暂时切换回存储会话InProc)。刷新页面并且错误消失(稍微有点,它必然会回来)。
所以我在Services接口中查看了ASP.NET State Service的属性,并将其映射到1.1 framework文件夹中的.exe:
C:\ Windows \ Microsoft.NET \框架\ V1.1.4322 \ aspnet_state.exe的
2.0框架文件夹中有相应的版本,但我不知道如何将其添加为新服务。我也不确定添加2.0版本(以及停止和/或删除1.1版本)将解决问题。
提前感谢任何人提供的任何帮助。
米克
答案 0 :(得分:2)
我遇到类似的问题,在Win Server 2003 SP3上运行ASP.net 4并且在32位模式下运行ASP.net 2.0。
在某些阶段,某些东西从C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727目录中获取了ASPNET_State,但未能告诉ASPNET_State服务器它现在应该指向C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319 \ aspnet_state.exe的。我只能想象安装.Net 4的时候,但我无法确定。
所以我跑了
sc config aspnet_state binpath = C:\ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_state.exe
之后似乎一切正常。
(请注意'binpath ='之后的空格 - 我担心发布原帖的人(Mick Byrne)没有把它放进去,因此解释了为什么......“但是这根本不起作用只需显示“sc”命令的这个分支的使用说明“ - 请参阅原始帖子中的评论”
答案 1 :(得分:1)
好的,在其他地方找到了似乎有效的解决方案。与上述答案几乎相同:
我检查了服务控制台中的“ASP.NET状态服务”,它现在指向.NET2.0版本(而不是.NET1.1)。
我做的唯一奇怪的事情可能导致这种情况是将.NET3.5直接安装到以前只安装了.NET1.1的盒子上。我认为它会让.NET2.0一路走来(它确实如此),但必须忘记会话的事情。
答案 2 :(得分:0)
您可以运行 aspnet_regiis - ?从framework 2.0目录更新网站。