我有一个ASP.NET MVC应用程序,它发布在2个IIS Web服务器上(一个用于debug
,另一个用于release
)。
在此应用程序中,我使用Session变量来保持用户登录,但在release
服务器中此会话定义不起作用,返回错误:
对象引用未设置为对象的实例
我相信它只能是IIS配置,因为相同的代码在debug
服务器和localhost上工作正常,这就是我无法调试应用程序的原因。
我之前从未进行过IIS配置,但在我的搜索中,我发现Sessions State有一个配置(请参阅此链接here),默认设置为{ {1}},如果我尝试设置true
,则不会发生任何不同的事情。
以下是代码:
false
答案 0 :(得分:1)
解决方案1: 检查与应用程序池关联的最大工作进程。它应该是1。
检查最大工作进程的步骤:
解决方案2: 更改web.config文件中的以下设置:
<configuration>
<system.webServer>
<modules>
<remove name="Session" />
<add name="Session" type="System.Web.SessionState.SessionStateModule"/>
</modules>
</system.webServer>
</configuration>