2008-08-06 11 views
8

Ich muss erkennen, wenn eine Sitzung in meiner Visual Basic-Webanwendung abgelaufen ist. Dies ist, was ich verwende ...Wie kann ich eine abgelaufene ASP.NET-Sitzung am besten erkennen?

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 

    If CurrentSession.IsNew AndAlso (Not Page.Request.Headers("Cookie") Is Nothing) AndAlso (Page.Request.Headers("Cookie").IndexOf("ASP.NET_SessionId") >= 0) Then 
     Response.Redirect("TimeOut.aspx") 
    End If 

    ...do something... 

End Sub 

Hinweis:CurrentSession.IsNew kehrt HttpContext.Current.Session.IsNewSession

Dieses gut, für Internet Explorer scheint zu funktionieren scheint aber mit Firefox zum Scheitern verurteilt.

+0

Können Sie mit der Session_End Funktion in Global.asax arbeiten? [http://articles.techrepublic.com.com/5100-10878_11-5771721.html] (http://articles.techrepublic.com.com/5100-10878_11-5771721.html) –

+0

Ich benutze nur die derzeit Ereignis Application_Error in der Datei global.asax. Vielleicht gehört auch meine Sitzungsbehandlung dorthin. Aber wie benutze ich das beim Laden der angeforderten Seite? –

Antwort

7

Versuchen Sie, die folgenden

If Session("whatever") IsNot Nothing Then 
Verwandte Themen