2016-08-08 4 views
0

私はasp.net C#webformsプロジェクトで作業しています。セッションが終了すると、login.aspxページにリダイレクトします。私はjavascriptベースのソリューションをインターネット上で利用可能な正常に動作している。しかし、私はglobal.asaxページから作業して、コードが1か所に収まるようにしたいと思います。 Global.asaxのSession_Endイベントからリダイレクトしようとしましたが、このイベントでResponseおよびRequestオブジェクトが使用できないため動作しませんでした。 Redirecting to another page on Session_end eventのようにApplication_AcquireRequestStateイベントを使用するための参照がいくつかありましたが、どちらも機能しませんでした。どんな助けでも大歓迎です。私は.NETの世界に住んでいましたが、私の知る限りリコールとして、すべての要求なしにサーバー上のSession_End火災がそれをトリガーするのでセッションが終了するとGlobal.asaxのlogin.aspxページにリダイレクトする方法

おかげ

答えて

1

それはしばらくしています。つまり、セッションが終了するとSession_Endが発生します。その時点ではリクエストはありません。

https://blogs.msdn.microsoft.com/amb/2011/06/03/session_onend-or-session_end-events-in-global-asax-wont-fire-if-you-store-asp-net-sessions-out-of-proc-in-state-server-or-sql-server/

だから、あなたが最初の場所でSession_Endに依存したくないかもしれません:あなたは外部のセッションに移動する必要がある場合にも

Session_Endは発生しません。

リクエストがないので、サーバーからリダイレクトすることはできません。あなたはにはJavaScriptでそれを行うためにがあります。しかし、の場合、実際にに接続されているクライアントにリダイレクトを「プッシュ」する必要がある場合は、WebSocketを使用してこれを行うことができます。 (しかし、それは悪い考えだと思います)

関連する問題