我使用VS2012 MVC 4(HotTowel SPA)开发了一个Web应用程序 如果我通过Visual Studio运行它可以正常工作。但是当我将它部署到IIS服务器时,我得到了一个例外。
我的服务器计算机是Server 2008 R2和IIS 7.5版。所有依赖项都已安装。
导致错误的代码部分:
在index.cshtml页面上如果选中if(Session["User"] == null)
,则加载视图登录。 (Login.cshtml)
如果session不为null,则加载主视图。
如果通过visual studio运行,一切都运行良好。
如果我删除会话检查,则主页已成功加载。
但我必须在回家之前检查会议。但我得到以下例外:
对象引用未设置为对象的实例。
描述:执行期间发生了未处理的异常 当前的网络请求。请查看堆栈跟踪了解更多信息 有关错误的信息以及它在代码中的起源。
异常详细信息:System.NullReferenceException:不是对象引用 设置为对象的实例。
Line 65:
}
Line 66: @if (Session["User"] == null)
Line 67: {
Line 68: @Html.Partial("Login")
答案 0 :(得分:0)
我找到了解决问题的方法 只需将此模块添加到web.config文件中即可。
<configuration>
...
<system.webServer>
...
<modules>
<remove name="Session" />
<add name="Session" type="System.Web.SessionState.SessionStateModule"/>
...
</modules>
</system.webServer>
</configuration>
微软确实在模板中添加了这个模块,这很奇怪。