代码之家  ›  专栏  ›  技术社区  ›  Mick Byrne

ASP.NET状态服务版本有问题;状态服务为1.1,网站为3.5

  •  2
  • Mick Byrne  · 技术社区  · 15 年前

    我有一个ASP.NET 3.5网站在Windows Server 2003上运行,我正在使用ASP.NET状态服务管理会话。它会正常工作,然后我会经常收到一个错误,说我的代码需要运行2.0版的State Service才能工作(我想这就是它所说的,我已经暂时切换回了在proc中存储会话)。刷新页面,错误就会消失(有一点,它肯定会回来)。

    所以我在服务接口中查看了ASP.NET状态服务的属性,它映射到1.1框架文件夹中的.exe:

    C:\windows\microsoft.net\framework\v1.1.4322\aspnet\u state.exe

    在2.0框架文件夹中有一个对应的版本,但我不知道如何将其添加为新服务。我也不确定添加2.0版本(停止和/或删除1.1版本)是否可以解决问题。

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

    米克

    3 回复  |  直到 14 年前
        1
  •  2
  •   DJA    14 年前

    我在WinServer2003 SP3上并行运行ASP.NET 4和ASP.NET 2.0时遇到了类似的问题,所有这些都是32位模式。

    在某个阶段,有什么东西从c:\windows\microsoft.net\framework\v2.0.50727目录触动了aspnet\u状态,但未能告诉aspnet\u状态服务器它现在应该指向c:\windows\microsoft.net\framework\v4.0.30319\aspnet\u state.exe。我只能想象.NET 4是在什么时候安装的,但我不能确定。

    所以我跑了

    sc config aspnet_state binpath=c:\windows\microsoft.net\framework\v4.0.30319\aspnet_state.exe

    之后一切似乎都很好。

    (请注意“binpath='-我担心原帖子的作者(mick byrne)没有把这个放进去,因此解释了为什么…”然而,这根本不起作用,只是为“sc”命令的这个分支提供了使用说明(参见原始文章中的注释)。

        2
  •  1
  •   Mick Byrne    15 年前

    好的,在其他地方找到一个可行的解决方案。几乎与上述答案相同:

    • 在命令提示下转到.net2.0目录
    • 运行“aspnet-regiis-i-enable”
    • 电脑坐在那里嚼了一会儿,然后一切似乎都正常了。

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

    我所做的唯一奇怪的事情可能导致了这种情况,那就是将.net3.5直接安装到以前只安装了.net1.1的设备上。我想它会把.net2.0放在一条路上(它是这样做的),但肯定忘记了会话的事情。

        3
  •  0
  •   Shiraz Bhaiji    15 年前

    你可以跑 Aspnet Regais-? 从framework 2.0目录更新网站。