ASP.NET状态服务版本的问题;国家服务是1.1,网站是3.5

时间:2009-09-03 07:39:52

标签: asp.net session session-state

我有一个在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版本)将解决问题。

提前感谢任何人提供的任何帮助。

米克

3 个答案:

答案 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)

好的,在其他地方找到了似乎有效的解决方案。与上述答案几乎相同:

  • 在命令提示符下转到.NET2.0目录
  • 运行'aspnet_regiis -i -enable'
  • 电脑坐在那里咀嚼了一会儿,然后一切似乎都在起作用。

我检查了服务控制台中的“ASP.NET状态服务”,它现在指向.NET2.0版本(而不是.NET1.1)。

我做的唯一奇怪的事情可能导致这种情况是将.NET3.5直接安装到以前只安装了.NET1.1的盒子上。我认为它会让.NET2.0一路走来(它确实如此),但必须忘记会话的事情。

答案 2 :(得分:0)

您可以运行 aspnet_regiis - ?从framework 2.0目录更新网站。