跨多个用户和浏览器的会话处理

时间:2018-06-11 10:53:29

标签: c# session model-view-controller

我必须跨多个用户和多个浏览器实现会话处理。每个用户都有一个唯一的令牌,我将其保存在 Global.asax.cs 方法中 Session__Start()中的 HttpContext.Current.Session 变量中。它适用于单个会话。但是,当我从两个浏览器触发请求时,在浏览各个页面时,有时会自动调用 Session_Start()方法进行第二个会话,并重置会话变量,从而产生空值

我该如何处理这种情况?

编辑1: 会话可能超时的场景是什么?例如:在HTTPGet / HttpPost之间切换,还是进行Ajax调用?

我也看过这个链接: Does Session timeout reset on every request

这是我应该记住的吗?我的代码有2个GET和1个POST请求,并且会话变量在第二个浏览器会话的POST方法中变为NULL。

1 个答案:

答案 0 :(得分:0)

我弄清楚了原因。 web.config文件中的sessionState模式设置为“ InProc”,而应将其设置为“ StateServer”。当我进行必要的更改时,它就像是一种魅力。

还应从services.msc启动ASP.net状态服务,以使其正常工作。