我有以下问题,我正在使用vb.net visual studio 2012进行项目,我通过HttpContext.Cache管理会话,以消除存储在缓存中的会话,添加执行清理过程的按钮,但是我想在关闭浏览器标签或直接关闭整个浏览器(Chrome,Safari,Opera,Internet Explorer)时以相同的方式添加它。
用于会话中的注册用户
Public Sub registrarSesion(ByVal contexto As HttpContext, ByVal nombreusuario As String)
Dim TimeOut As TimeSpan = New TimeSpan(0, 0, contexto.Session.Timeout, 0, 0)
nombreusuario = nombreusuario.Trim()
If contexto.Cache(nombreusuario) Is Nothing Then contexto.Cache.Insert(nombreusuario, contexto.Session.SessionID, Nothing, DateTime.MaxValue, TimeOut, System.Web.Caching.CacheItemPriority.NotRemovable, Nothing)
contexto.Session("nombreusuario") = nombreusuario
End Sub
用于删除会话中的用户
Public Sub EliminarRegistro(ByVal contexto As HttpContext)
If contexto.Session("nombreusuario") IsNot Nothing Then contexto.Cache.Remove(contexto.Session("nombreusuario").ToString())
End Sub
此代码是从退出按钮
调用的Protected Sub CerrarSesion_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles CerrarSesion.Click
LiberarSesion()
FormsAuthentication.SignOut()
Session.Abandon()
Response.Redirect("~/login.aspx", False)
ClosePag(Me.Page)
End Sub
和方法LiberarSesion()
Public Shared Sub LiberarSesion()
Dim clase As ValidaSesion = New ValidaSesion()
clase.EliminarRegistro(HttpContext.Current)
End Sub
非常感谢你们:)