セッションが期限切れになっていないかどうかを確認するにはどのイベントが最適ですか?私は各サーバーの要求をトラップしようとしていて、セッションがnullの場合は、別のページにリダイレクトします。ASP.NETグローバルイベント
答えて
これは、すべてのotehrクラスに対して基本Pageクラスを使用し、これをPage_Loadメソッドで実装することによって最もよく達成されます。
新しいセッションがとSession_OnStartをフックして作成されているかどうかを判断することができます - http://msdn.microsoft.com/en-us/library/ms178583(VS.80).aspx
あなたは、Global.asaxの ファイルに とSession_OnStartという名前のサブルーチンを追加することによって、とSession_OnStart イベントを処理することができます。 Session_OnStartサブルーチン は、要求が新しいセッションを開始する場合、要求の最初に実行されます。 要求が行われ、 のSessionID値が含まれていない場合、または要求 に含まれるSessionID プロパティが期限切れのセッションを参照している場合、新しいセッションが開始されます。
これは、ユーザーがちょうど到着したかセッションが終了したかにかかわらず、新しいセッションが作成されたときを効果的に示します。
両方のシナリオを確実に区別することは困難です。セッションクッキーまたはURL(cookieless)に埋め込まれたセッションIDを保持しようとする可能性がありますが、上記のイベントになる前に確認してから、リクエストにセッションID。あなたが(あなたがそれを見るライフサイクルの早い段階であるかどうかわからない)asp.netがあなたに与えるURLから剥奪されるので、あなたがcookieless版のセッションIDにアクセスできるかどうかを確認してください。
Pageクラスを継承するBasePageクラスを使用します。すべてのaspxページがそのBasePageクラスを継承するようにします。 BasePageクラスでOnInitイベントをオーバーライドし、セッションやCookieを確認したり、ユーザーをログインページにリダイレクトしたりすることができます。
実装と使用が簡単なので、この方法はすべての鉱山webformsアプリに使用します。
- 1. Backbone.jsグローバルイベント
- 2. Androidグローバルイベント
- 3. ChildWindow_Loadedのグローバルイベント
- 4. UWPのグローバルイベント
- 5. Windows Phone 7アプリケーションバー、グローバルイベント
- 6. Node.js要求モジュールのグローバルイベント
- 7. グローバルイベントの代わりに
- 8. グローバルイベントの作成方法は?
- 9. グローバルイベントのためのフラッシュイベントリスナー
- 10. vue:websocket listenerからグローバルイベントを出す
- 11. スレッド内のUnity、グローバルイベント、グローバルリスナまたはGM.Find()
- 12. 複数のフォームからアクセスされたC#グローバルイベント
- 13. Spine&jQueryを使用したグローバルイベントへのバインド
- 14. グローバルイベントのコンポーネントに通知する最も良い方法
- 15. Angular 2グローバルイベントを切り分ける方法
- 16. jQueryでグローバルイベントをバインドする必要があります
- 17. JavaがCreateEventを使用して作成したグローバルイベントにアクセスできる
- 18. グローバルイベント(window.onresize)はローカル変数の値を変更しませんでした
- 19. Process経由でNodeJSグローバルイベントを使用することをお勧めしますか?
- 20. ASP.Net VS ASP.Net MVC
- 21. ASP.NETスタティッククラスとasp.netセッション
- 22. ASP.NET 4.0対ASP.NET MVC
- 23. asp.net WebForms&asp.net MVCセキュリティオプション
- 24. indiviualファイルasp.netアップロードasp.net c#
- 25. Asp.Net MVCとAsp.Net両コアMVC
- 26. ASP.NET:私はASP.NETでのオブジェクト
- 27. 混在ASP/Asp.NET/ASP.NET MVCサイト
- 28. ハイブリッドASP.NET/ASP.NET MVCアプリケーションのIndex.aspx
- 29. ASP.NET 4とASP.NET 4.5のデータセット
- 30. ASP.NET Webサービス、ASP.NET/IISなし?
@ckこれは実際にはglobal.asaxのものです。 – eglasius
私はちょうどオプションを提供しています – cjk
確かに、OPがクラス単位でクラスのページにリダイレクトしたい場合、これをページイベントに追加するのが最善の方法です(ただし、これはpage_loadより前のイベントにこれを追加しますページハンドラのprocessrequestが開始される前のセッションが適切に実行されています) – annakata