我正在使用 vs 2010 使用 c# 开发 Asp.net MVC 2 应用程序。当我在调试模式下本地运行我的应用程序时,出现下面提到的错误。
错误信息图片如下:
错误消息文本如下:
仅当enableSessionState设置为true时才能使用会话状态,
在配置文件或 Page 指令中。还请
确保 System.Web.SessionStateModule 或自定义会话状态
模块包含在<configuration>\<system.web>\<httpModules>
应用程序配置部分。
我为解决这个问题所做的工作如下:
尝试 1:web.config 文件已更改如下:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<remove name="Session" />
<add name="Session" type="System.Web.SessionState.SessionStateModule, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</modules>
</system.webServer
尝试2如下:
但不幸的是我仍然遇到我上面提到的同样的问题。
UPDATE
你对此有什么解决办法吗?
您是否也在该部分中启用了会话状态?
<system.web>
<pages enableSessionState="true" />
</system.web>
或者您是否将其添加到页面中?
<%@Page enableSessionState="true">
您是否确认ASP.NET Session State Manager Service
服务正在运行?在你的屏幕截图中,它不是。已设置为启动模式Manual
这要求您每次想要使用它时都启动它。要启动它,请突出显示该服务并单击工具栏上的绿色播放按钮。要自动启动它,请编辑属性并调整启动类型。
或者将 SessionState 的 mode 属性设置为InProc
,因此不需要状态服务。
<system.web>
<sessionState mode="InProc" />
</system.web>
Check MSDN 提供了有关在 ASP.NET 会话状态中存储数据的所有可用选项 http://msdn.microsoft.com/en-us/library/ms178581%28v=vs.100%29.aspx.
注意:最好让您的控制器从会话中获取值,并将该值添加到您的页面/控件的模型(或 ViewBag)中,这样视图就不依赖于 HttpSession,您可以选择稍后,只需进行最少的代码更改即可获得此项目的不同来源。或者甚至更好,根本不使用会话状态 https://stackoverflow.com/questions/10181629/why-session-is-a-disaster-in-asp-net-mvc-application。当您使用大量异步 JavaScript 调用时,它可能会降低性能。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)