我有一个在 Windows Server 2003 上运行的 ASP.NET 3.5 网站,并且我正在使用 ASP.NET 状态服务来管理 session 。它似乎可以工作,然后我经常收到一个错误,说我的代码需要运行 2.0 版的状态服务才能工作(我认为这就是它所说的,我已暂时切换回存储 session InProc)。刷新页面,错误就会消失(暂时,它肯定会回来)。
因此,我查看了 Services 接口(interface)中 ASP.NET State Service 的属性,它映射到 1.1 框架文件夹中的 .exe:
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_state.exe
2.0框架文件夹中有对应的版本,但不知道如何将其添加为新服务。我也不确定添加 2.0 版本(并停止和/或删除 1.1 版本)是否可以解决问题。
预先感谢任何人可以提供的任何帮助。
米克
最佳答案
我在 Win Server 2003 SP3 上同时运行 ASP.net 4 和 ASP.net 2.0 时遇到了类似的问题,而且全部都在 32 位模式下。
在某个阶段,某些东西从 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 目录中删除了 ASPNET_State,但未能告诉 ASPNET_State 服务器它现在应该指向 C:\WINDOWS\Microsoft.NET\Framework\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”命令此分支的使用说明” - 请参阅原始帖子中的评论)
关于asp.net - ASP.NET State Service 版本有问题;状态服务是1.1,网站是3.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1371944/