如果他关闭浏览器,ASP.net会话将被销毁
我有一个网站。记录用户后,将加载会话详细信息。 当用户注销时,会话详细信息将被放弃。(通过单击注销菜单注销) 当用户简单地关闭浏览器时,如何销毁会话如果他关闭浏览器,ASP.net会话将被销毁,asp.net,Asp.net,我有一个网站。记录用户后,将加载会话详细信息。 当用户注销时,会话详细信息将被放弃。(通过单击注销菜单注销) 当用户简单地关闭浏览器时,如何销毁会话 下一次,它将使用相同的会话数据进行日志记录。我需要避免这种情况。您可以将会话配置为更快超时 在web.config中: < sessionState ... timeout="5" /> 您可以将会话配置为更快超时 在web.config中: < sessionState ... timeout="5" /> 作为注
下一次,它将使用相同的会话数据进行日志记录。我需要避免这种情况。您可以将会话配置为更快超时 在web.config中:
< sessionState ... timeout="5" />
您可以将会话配置为更快超时
在web.config中:
< sessionState ... timeout="5" />
作为注销处理的一部分,调用Session.Clear()清除键/值对:
作为注销处理的一部分,调用Session.Clear()清除键/值对:
您基本上有两种选择:
- 将会话cookie的超时时间设置为1分钟,并每30秒发送一次“保持活动”AJAX请求
- 不要使用cookie,只需在查询中传递会话参数
每种解决方案都可以在99%的情况下工作,如果您将它们结合起来,您应该可以在99.99%的情况下工作。取决于此行为对您的重要性。您基本上有两种选择:
- 将会话cookie的超时时间设置为1分钟,并每30秒发送一次“保持活动”AJAX请求
- 不要使用cookie,只需在查询中传递会话参数
每种解决方案都可以在99%的情况下工作,如果您将它们结合起来,您应该可以在99.99%的情况下工作。取决于此行为对您的重要性。您可以使用Page.OnUnload javascript事件向调用Session.放弃()的页面发出请求。这将导致用户在离开您的站点时删除会话。您可以使用Page.OnUnload javascript事件向调用session.放弃()的页面发出请求。这将导致用户在离开您的站点时删除会话。听起来您正在使用持久cookie存储身份验证票证。尝试将SetAuthCookie方法的第二个参数(createPersistentCookie)设置为false,即FormsAuthentication.SetAuthCookie(“myusername”,false) 听起来您正在使用持久cookie存储身份验证票证。尝试将SetAuthCookie方法的第二个参数(createPersistentCookie)设置为false,即FormsAuthentication.SetAuthCookie(“myusername”,false) 这里有一个有趣的细节。这里有一个有趣的细节。Page.Unload()不是在用户离开站点时调用的,而是在引擎完成渲染后,在HTML发送到浏览器之前调用的。一旦发生这种情况,就无法通过访问该页面 我知道在PHP中,可以使用AJAX使用javascript调用PHP函数。我不知道这在ASP.Net中是否可行,或者是否适用于会话。Page.Unload()在用户离开网站时不会调用,而是在引擎完成渲染后,在HTML发送到浏览器之前调用。一旦发生这种情况,就无法通过访问该页面
try
{
Session["Admin"] = null;
Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
Session.Abandon();
Session.Clear();
Page.Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Redirect("Dep_NewUserCreate.aspx");
}
catch(Exception ExLink)
{
Response.Redirect("Dep_NewUserCreate.aspx");
}
我知道在PHP中,可以使用AJAX使用javascript调用PHP函数。我不知道这在ASP.Net中是否可行,或者是否适用于会话。这个问题不够清晰,表面上看,你是在问当某人关闭浏览器窗口时如何注销,而你似乎在问他们注销时如何删除会话数据。这个问题表面上看不够清晰,当某人简单地关闭浏览器窗口时,您似乎在询问如何注销,而当他们注销时,您似乎在询问如何删除会话数据。
try
{
Session["Admin"] = null;
Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
Session.Abandon();
Session.Clear();
Page.Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Redirect("Dep_NewUserCreate.aspx");
}
catch(Exception ExLink)
{
Response.Redirect("Dep_NewUserCreate.aspx");
}