2008-08-06 20 views
8

Muszę wykryć, kiedy sesja wygasła w mojej aplikacji internetowej Visuial Basic. To właśnie używam ...Jak najlepiej wykryć sesję wygasłą ASP.NET?

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 

Uwaga:CurrentSession.IsNew powraca HttpContext.Current.Session.IsNewSession

to wydaje się działać dobrze dla Internet Explorer, ale wydaje się niepowodzeniem z Firefox.

+0

można pracować z funkcją Session_End w Global.asax? [http://articles.techrepublic.com.com/5100-10878_11-5771721.html](http://articles.techrepublic.com.com/5100-10878_11-5771721.html) –

+0

Obecnie korzystam tylko z Zdarzenie Application_Error w pliku global.asax. Być może moja obsługa sesji również tam się znajduje. Ale w jaki sposób mogę użyć tego na żądanym ładowaniu strony? –

Odpowiedz

7

Wypróbuj następujące

If Session("whatever") IsNot Nothing Then