0

我正在尝试在 mvc3 控制器中使用 TempData[] 并且遇到以下错误:

SessionStateTempDataProvider 类需要启用会话状态。

以下是在 webconfig 中设置的(不是我的代码或项目)但是......

<modules runAllManagedModulesForAllRequests="true">
  <add name="Custom http Module" type="CustomHttpModule" />
</modules>

其中CustomHttpModule:

public class CustomHttpModule: IHttpModule

这是我可以更改或可能在此 CustomHttpModule 类中定义的配置设置吗?

4

1 回答 1

2

IRequiresSessionState如果您希望能够从 HTTP 模块访问会话,请确保您的模块实现了标记接口:

public class CustomHttpModule: IHttpModule, IRequiresSessionState
{
    ...    
}

还要web.config确保会话状态已启用:

<sessionState mode="InProc" />

当然,您在此处指定的模式将取决于设置和要求。例如,如果您在 Web 场中运行,将会话数据存储在内存中可能容易出错,因为 Web 场的每个节点都将存储自己的会话,并且无法共享。在这种情况下,您可能需要考虑一些其他模式,使您能够在场的节点之间共享会话。

于 2012-05-01T17:38:33.120 回答