2

セッションが期限切れになる前に60秒のアイドル時間ウィンドウがあるasp.netWebページがあります。Session_Endイベントでブラウザー(またはできればタブのみ)を閉じる方法はありますか(aspまたはc#コードビハインドのいずれかを使用)?

反対のことをしたい(ブラウザを閉じてセッションを終了する)SOに関する投稿をたくさん見ましたが、必要なものではありません。

4

2 に答える 2

5

ブラウザを閉じることはできませんが、次のようにして「SessionExpired」ページにリダイレクトできます。

    protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);
        this.PageHead.Controls.Add(new LiteralControl(
            string.Format("<meta http-equiv='refresh' content='{0};url={1}'>", 
            Session.Timeout * 60, "SessionExpired.aspx")));
    }
于 2013-03-27T13:53:53.833 に答える
3

この例を見ることができます-ASP.NETでのアラートセッションタイムアウト

基本的に、タイムアウトする前にユーザーに警告します(たとえば、Bank Of Americaサイト)。制限時間に達したら、ユーザーをログアウトページにリダイレクトします。

参考:警告なしにページをリダイレクトまたは閉じると、ユーザーは怒ります。

于 2013-03-27T13:54:38.433 に答える