继续获取提供程序要求在IIS 6上启用SessionState

时间:2009-01-25 13:40:49

标签: .net asp.net-mvc iis-6

尝试在IIS 6服务器上部署一个简单的asp.net mvc项目时,我不断收到此错误“提供程序需要启用SessionState ”。

为了排除我做错了什么,我现在尝试部署你在vs2008中启动新的asp.net mvc解决方案时获得的模板。是的,我在IIS配置中启用了会话状态,还在web.config中添加了<sessionState mode="InProc" />行,但这没有任何区别。

尝试了.mvc isapi映射以及通配符映射,我仍然收到了可怕的错误消息。

我忽略了一些明显的事情吗?

3 个答案:

答案 0 :(得分:3)

检查您的web.config并检查确保您没有禁用会话状态的任何内容。它看起来像这样。

<sessionState mode="Off" />

否则,您可能需要检查并确保在IIS级别启用会话状态...

  1. 点击/选择您的网站
  2. 在“应用程序设置”区域中 选择配置然后 选项标签。
  3. 在应用程序配置中 区域选择启用会话状态 复选框(或确保它是 选中)。

答案 1 :(得分:1)

不是真正的答案,但我所做的是向IIS添加一个新站点,并让它在端口81上运行。这是为了内部测试/演示目的,所以这不是一个问题。

然后我设置了一个虚拟目录,因为你可以从那里的许多指南中读取,设置通配符isapi规则到.net 3.5 dll并且网站立即启动。

我现在遇到提供程序需要启用SessionState - 错误两次。在我的家庭和工作场所的测试机上,在将mvc站点部署到IIS 6中的默认网站时,必定会出现问题,但无法告诉您什么......

感谢Chad试图帮助我!

答案 2 :(得分:0)

我有同样的错误,但在我的情况下,它与sessionstate无关(至少,它不是问题的根源)。

您是否在Global.asax文件中设置了错误处理? 如果是这样,暂时禁用它。

protected void Application_Error(object sender, EventArgs e)
{
    Exception exception = Server.GetLastError();
    RouteData routeData = new RouteData();
    routeData.Values.Add("controller", "ErrorController");
    routeData.Values.Add("action", "HandleTheError");
    routeData.Values.Add("error", exception);

    Response.Clear();
    Server.ClearError();

    IController errorController = new ErrorController();
    errorController.Execute(new RequestContext(
        new HttpContextWrapper(Context), routeData));
}

禁用此代码后,我收到一条http 404错误,导致无法找到我的某个页面。 不要忘记将mvc扩展名添加到您的链接。如果解决根目录是您的问题,请将函数Url.Content与“〜/”。

结合使用