【发布时间】:2012-08-11 12:50:27
【问题描述】:
我有一个非常简单的问题 我正在使用状态服务器在我的应用程序中存储会话。问题是,当我点击我的网站并登录我的网站时,如果我关闭浏览器并再次重新打开,我的会话就会丢失。我必须重新登录。即使在关闭浏览器后,我必须做些什么才能使会话保持活跃。
我的状态服务器配置如下
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" />
在我的 sesion_start 上的 globel.aspx 文件中,我正在这样做
// set the session timeout 20Minutes
Session.Timeout = ConfigurationManager.AppSettings["SessionTimeOutTimeInMinutes"].ToInt32Safe();
即使在关闭浏览器后,我必须做些什么才能使会话保持活跃。
这是我在服务器上的设置图片
【问题讨论】:
-
我认为这与会话 state 在服务器端的存储方式无关。浏览器关闭意味着会话cookie消失了。
-
那么我应该怎么做才能避免这种情况
-
还请记住,在 Asp.Net 中,会话和登录/身份验证是分开的。通常会话使用 cookie 保持活动状态。并且身份验证通常也使用 cookie 保持活动状态。但它们是不同的 cookie,因此您可能会在保持登录状态时失去会话,反之亦然。
标签: c# asp.net session session-cookies stateserver