質問

セッション。捨()ないものです。いいですが、Session_endイベント火災時のセッション。捨()が呼び出されます。

役に立ちましたか?

解決

これで SessionModeない InProc のみを検出できる場合は、セッション終了).

引用 MSDN:

セッションイベント

ASP.NET についてのイベントを また、ユーザーです。の Session_OnStartイベント時に起きる 新しいセッションを開始し、 Session_OnEndイベント時に起きる セッションは捨てられたりします。セッションイベントが指定された グローバルasaxファイル、ASP.NET 願います。

のSession_OnEndイベントではない 対応の場合はセッションモード性 設定値以InProc, デフォルトモードになります。

他のヒント

Session.Abandon()は、セッションを終了する方法です。あなたが発生している問題は何ですか?

その[戻る]ボタンが関連する場合は、

、それは全く別の問題(ページ戻るにポストバックしない、代わりにそれはそう何のサーバ側のメソッドが実行されませんクライアント側のキャッシュから1を実行します)です。

また、のSession_Endは問題があります。これは、Session.Abandon上の唯一の火災は、()を使用すると、別のセッションモードを使用しているので、もし、インプロセスセッションを使用している場合、それは当てにすることはできないだろう。そうでなければ、のSession_EndにあるSessionTimeoutに達したときに発生します(デフォルトはのWeb.Configで構成され、私は信じて20分、である)。

次を使用してみましたか?

System.Web.Security.FormsAuthentication.SignOut();

これはあなたが探しているものではないかもしれないけれども、フォーム認証に使用するCookieを削除します。

あなたがSession.Abandonにaddtionでこれを使用する必要があります()

ここでセッション終了が呼び出されたときの話の記事です。

http://www.highoncoding.com/Articles/108_When_is_Session_End_Called__.aspxする

セッションが持続するように見える場合は、

あなたは(web.configファイルで)試してみてください。

<sessionState regenerateExpiredSessionId="true">
1つの、独自のセッションを持っているのWebApplication、第二WS、あるいはまた、それは私がかつて働いされたアプリケーションであったか、独自のセッションを持っているWCFアプリケーション:あなたは2台のサーバーでアプリケーションを持っている場合は、

これは、依存しています。あなたはこのケースを持っている場合、セッションは第二の点で終了しなければならない、と最初が終了するよりも、タイムアウトが表示されます。少なくとも、あなたはトークンを使用すると、アクティブなセッションの、トークンのリストを維持する必要があります。それはあなたのケースであるかもしれません。幸運を。 PS。セッションを殺すためには、第2のサーバでそれを管理します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top