Asp.net 会话变量清除方法是否仅清除当前浏览器会话?
以下会话变量清除方法用于注销单击Asp.net 会话变量清除方法是否仅清除当前浏览器会话?,asp.net,.net,login,session-variables,session-state,Asp.net,.net,Login,Session Variables,Session State,以下会话变量清除方法用于注销单击 Session.Clear(); Session.RemoveAll(); Session.Abandon(); 如果我在两个浏览器中打开我的网站,并从一个浏览器中注销。会话变量在第二个浏览器中没有清除。因此它不会重定向到注销 上述方法将仅清除当前浏览器会话变量?删除所有浏览器会话的有效方法是什么???您好,如果您使用的是母版页,则在内部而不是页面回发,请使用此代码 Response.Cache.SetCacheability(HttpCacheabili
Session.Clear();
Session.RemoveAll();
Session.Abandon();
如果我在两个浏览器中打开我的网站,并从一个浏览器中注销。会话变量在第二个浏览器中没有清除。因此它不会重定向到注销
上述方法将仅清除当前浏览器会话变量?删除所有浏览器会话的有效方法是什么???您好,如果您使用的是母版页,则在内部而不是页面回发,请使用此代码
Response.Cache.SetCacheability(HttpCacheability.NoCache);
SetExpires(DateTime.UtcNow.AddHours(-1));
Response.Cache.SetNoStore();
if(会话[“ObjUser”]==null)
{
重定向(“~/UI/Login.aspx”,true);
}
if(HttpContext.Current.Request.urlReferer==null)
{
重定向(“~/UI/Login.aspx”,true);
}
通常,当两个浏览器连接到您的网站时,会实例化两个不同的会话。每个会话中的信息独立于所有其他会话。因此,当您删除/清除会话时,只有当前会话会受到影响
要销毁所有会话,假设您正在对会话状态使用InProc模式(还有其他模式=>),您可以通过重新启动应用程序池来销毁所有会话。有
p/s:ServerManager类驻留在包中。此行为不应在注销事件中实现
也可以选择重新启动应用程序池
- 修改web.config文件
- 升级一个新的.dll文件
- 使用IIS管理器
ServerManager serverManager = new ServerManager();
ApplicationPoolCollection applicationPoolCollection = serverManager.ApplicationPools;
foreach (ApplicationPool applicationPool in applicationPoolCollection)
{
//...
applicationPool.Recycle();
//...
}
// CommitChanges to persist the changes to the ApplicationHost.config.
serverManager.CommitChanges();