【发布时间】:2017-03-13 16:55:27
【问题描述】:
我目前在我的开发机器上有一个本地 IIS 实例,我正在使用它来开发 ASP.NET MVC 应用程序。我有 IIS8,目前网站正在加载,除了会话状态之外,一切似乎都运行良好。
当单步执行我的代码时(所有这些都在我们的演示服务器上运行良好 - 所以我知道这不是代码),似乎会话变量已设置,没有引发任何异常。但是,每当我尝试访问其中一个变量时,该值都会以空字符串 ("") 的形式返回。我已经检查了我知道要在 web.config 中查找的内容,以及IIS中的设置没有运气。我的 Web.Config sessionState 设置如下所示:
<sessionState mode="InProc" timeout="240" />
我尝试在此处添加其他设置,例如无 cookie 等...但是我没有任何运气。我也玩过 IIS 中的设置,当前设置在此屏幕截图中:http://screencast.com/t/Vny4uUqMleB
编辑:添加一些会话状态代码以供参考。请注意,尽管我努力让他们切换到 C#,但这个系统是用 VB 编写的:(
首先,这将是它被设置的一个例子——我们有一个用于管理状态(会话、cookie、应用程序等)的类。 “key”和“value”都是传入的字符串变量。
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
如果有人可以就下一步看什么、可能会影响它的事情或任何线索给我一些指导,我将不胜感激!
【问题讨论】:
-
要回答这个问题,我们需要一些示例代码来展示您如何设置和检索 Session 值。
-
给我一点时间,我会编辑我的帖子。谢谢!
-
全部设置,如果您需要查看状态函数的完整定义,我可以添加这些,但 99% 只是决策代码,我已经验证有问题的行是被命中的行在执行期间。
-
代码似乎没问题。现在有一个更大的任务:去这里检查/做它所说的一切......iis.net/configreference/system.webserver/asp/session
-
关于它 - 可能需要我一点时间,因为我目前正在同时处理其他事情,但我会在完成后报告。谢谢!
标签: asp.net-mvc session iis session-variables iis-8