无法在Asp MVC中创建Session

时间:2018-01-23 12:51:44

标签: asp.net-mvc session iis

我有一个ASP.NET MVC应用程序,它发布在2个IIS Web服务器上(一个用于debug,另一个用于release)。

在此应用程序中,我使用Session变量来保持用户登录,但在release服务器中此会话定义不起作用,返回错误:

  

对象引用未设置为对象的实例

我相信它只能是IIS配置,因为相同的代码在debug服务器和localhost上工作正常,这就是我无法调试应用程序的原因。

我之前从未进行过IIS配置,但在我的搜索中,我发现Sessions State有一个配置(请参阅此链接here),默认设置为{ {1}},如果我尝试设置true,则不会发生任何不同的事情。

以下是代码:

false

1 个答案:

答案 0 :(得分:1)

解决方案1: 检查与应用程序池关联的最大工作进程。它应该是1。

检查最大工作进程的步骤:

  1. 从IIS中的左侧面板转到应用程序池
  2. 选择与您的网站相关联的应用程序池。
  3. 转到该应用程序池的高级设置
  4. 设置流程模型 - > “最大工人流程”为1
  5. 解决方案2: 更改web.config文件中的以下设置:

    <configuration> 
        <system.webServer>
            <modules>
              <remove name="Session" />
              <add name="Session" type="System.Web.SessionState.SessionStateModule"/>
            </modules>   
        </system.webServer> 
    </configuration>