尝试在IIS 6服务器上部署一个简单的asp.net mvc项目时,我不断收到此错误“提供程序需要启用SessionState ”。
为了排除我做错了什么,我现在尝试部署你在vs2008中启动新的asp.net mvc解决方案时获得的模板。是的,我在IIS配置中启用了会话状态,还在web.config中添加了<sessionState mode="InProc" />
行,但这没有任何区别。
尝试了.mvc isapi映射以及通配符映射,我仍然收到了可怕的错误消息。
我忽略了一些明显的事情吗?
答案 0 :(得分:3)
检查您的web.config并检查确保您没有禁用会话状态的任何内容。它看起来像这样。
<sessionState mode="Off" />
否则,您可能需要检查并确保在IIS级别启用会话状态...
答案 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与“〜/”。
结合使用