本地计算机上的IIS不保存会话状态

时间:2016-10-31 15:11:58

标签: asp.net-mvc session iis session-variables iis-8

我目前在我的开发机器上有一个本地IIS实例,我正在开发ASP.NET MVC应用程序。我有IIS8,目前网站加载,除会话状态外,一切似乎都正常。

当单步执行我的代码时(所有这些都在我们的演示服务器上工作正常 - 所以我知道它不是代码),似乎会设置会话变量而不会抛出任何异常。但是,每当我尝试访问其中一个变量时,该值都会返回为空字符串("")。我已经检查了我在网络中查找的内容.config,以及IIS中没有运气的设置。我的Web.Config sessionState设置如下所示:

<sessionState mode="InProc" timeout="240" />

我尝试在这里添加其他设置,如cookieless等等......但是我没有运气。我还使用了IIS中的设置,当前设置在此屏幕截图中:http://screencast.com/t/Vny4uUqMleB

编辑:添加一些会话状态代码以供参考。请注意,尽管我努力让他们切换到C#,但这个系统是用VB编写的:(

首先,这将是一个设置的例子 - 我们有一个用于管理状态的类(会话,cookie,app等)。两个&#34;关键&#34;和&#34;价值&#34;是传入的字符串变量。

HttpContext.Current.Session(key) = value

当读取值,同样的情况时,代码被包装在一个用于管理状态的类中,但这将是重要的一行:

  //Read value from session state
  If Not (HttpContext.Current.Session(key) Is Nothing) Then
    strValue = HttpContext.Current.Session(key).ToString()
  End If

如果有人可以给我一些关于接下来要看什么的指导,哪些事情可能会影响它,或者真的有任何线索,我会很感激!

1 个答案:

答案 0 :(得分:0)

所有归功于Peter B在主帖的评论中。他发给我这个链接https://www.iis.net/configreference/system.webserver/asp/session

具体来说,在设置完成后强制你安装ASP库的部分是为我修复的。去了IIS中的ASP图标,确保会话已设置,重新启动调试,并且所有会话问题都消失了。