【发布时间】:2015-07-23 03:37:39
【问题描述】:
整天都在追捕这个。
如果我使用“StateSever”,我可以让会话正常工作。保持从控制器到控制器和刷新的会话。如果我使用“InProc”,则会话从控制器到控制器,但在刷新时它会死掉 [null]。超时应该不是问题,因为我会立即运行它。
对此的任何帮助表示赞赏。我真的不想使用 stateserver...至少在我明白为什么会这样之前。
网络配置
<!--<sessionState cookieless="UseCookies" timeout="1440" mode="InProc"/>-->
<sessionState cookieless="UseCookies" timeout="1440" mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424"/>
控制器
public ActionResult Login()
{
System.Web.HttpContext.Current.Session["SessionVal"] = "Test";
return View();
}
public ActionResult LoginSuccess()
{
return View();
}
观看次数
@{
Layout = "";
}
<h2>Login</h2>
<a href="/Login/LoginSuccess">Go Here</a>
第二个视图
@{
Layout = null;
}
Session: @Session["SessionVal"]
【问题讨论】:
-
你是在 Web Farm 还是 Web Garden 上运行?
-
不,我现在在本地运行...dev PC
-
能否从 web.config 中彻底删除 sessionState 标签并再次调试?
-
我希望这是有道理的。我在 Web 配置中禁用了会话状态。我在会话中放置了一个 DateTime 第一次运行项目时,它会显示会话。我按 F5,它会重新创建会话。我继续按F5,它成立。我启用了 stateserver 并执行相同的过程,但它不会在第一次刷新时重新创建会话。
标签: asp.net-mvc session