ASP.NET Push Redirect on Session Timeout

前端 未结 10 1878
Happy的楠姐
Happy的楠姐 2020-11-29 21:04

I\'m looking for a tutorial, blog entry, or some help on the technique behind websites that automatically push users (ie without a postback) when the session expires. Any h

10条回答
  •  心在旅途
    2020-11-29 21:56

    Usually, you set the session timeout, and you can additionally add a page header to automatically redirect the current page to a page where you clear the session right before the session timeout.

    From http://aspalliance.com/1621_Implementing_a_Session_Timeout_Page_in_ASPNET.2

    namespace SessionExpirePage
    {
        public partial class Secure : System.Web.UI.MasterPage
        {
            public int SessionLengthMinutes
            {
                get { return Session.Timeout; }
            }
            public string SessionExpireDestinationUrl
            {
                get { return "/SessionExpired.aspx"; }
            }
            protected override void OnPreRender(EventArgs e)
            {
                base.OnPreRender(e);
                this.PageHead.Controls.Add(new LiteralControl(
                    String.Format("", 
                    SessionLengthMinutes*60, SessionExpireDestinationUrl)));
            }
        }
    }
    

    The SessionExpireDestinationUrl should link to a page where you clear the session and any other user data.

    When the refresh header expires, it will automatically redirect them to that page.

提交回复
热议问题