我正在尝试在mvc3控制器中使用TempData [],我遇到了以下错误:
SessionStateTempDataProvider类需要会话状态 启用。
以下是在webconfig中设置的(不是我的代码或项目),但是......
<modules runAllManagedModulesForAllRequests="true">
<add name="Custom http Module" type="CustomHttpModule" />
</modules>
其中CustomHttpModule:
public class CustomHttpModule: IHttpModule
这是我可以更改或可能在此CustomHttpModule类中定义的配置设置吗?
答案 0 :(得分:2)
如果您希望能够从HTTP模块访问会话,请确保您的模块实现IRequiresSessionState
标记接口:
public class CustomHttpModule: IHttpModule, IRequiresSessionState
{
...
}
同样在web.config
中,请确保session state已启用:
<sessionState mode="InProc" />
当然,您在此处指定的模式取决于设置和要求。例如,如果您在Web场中运行,则在内存中存储会话数据可能容易出错,因为Web场的每个节点都将存储其自己的会话,并且不可能进行共享。在这种情况下,您可能需要考虑一些其他模式,使您能够在服务器场的节点之间共享会话。