2012-01-22 6 views
3

同じドメインで動作しているIIS上に2つのアプリケーションがある状況があります。それぞれのディレクトリに があります。同じIISサーバー上の2つのアプリケーション(ASP.NET)でセッションが速すぎます

例:

1)www.a.com/dir1 - APP1

2)www.a.com/dir2 - APP2

両方のアプリケーションがインプロセスモードで実行されています。

私は負荷バランスを使用しません。

私が入力したすべての設定にかかわらず、APP2(APP1はうまく動作しています)が7-10分後にセッションを失うことがあります。私は疲れてい

もの:各アプリにはユニークなセッションクッキー名を有するように

1)はAPP2のクッキー名を変更します。

2)タイムアウトウィンドウを240分に設定しました。

3)私は)

4(私はセッション終了イベントが呼び出され、アプリケーションの終了が呼び出さ参照)、アプリケーションの開始と終了イベントのログを配置しても、セッションの開始と終了にし、任意の異常を見つけることができませんでしたしています私はアンチウィルスが私のweb.configファイルをスキャンしていないことを確認しました。

5)私はAPP1を別のアプリケーションプールに移動しました。

あなたのアイデアは高く評価されます。

答えて

0

セッションで「InProc」モードが実行されているかどうかを確認できますか?はいの場合、セッションの状態サーバーまたはデータベースモードを使用するようにアプリケーションを構成する必要があります。

+0

はい私のアプリケーションはすべてinProcモードです。なぜ私はそれをしなくてはなりませんか? ASP.NETセッションを共有する必要はありません。 – AMember

+0

Hmm。 http://msdn.microsoft.com/en-us/library/ms972429.aspxを参照してください。 「インプロセスモードとは、従来のASPセッション状態と同様の方法でASP.NETセッション状態を使用することを意味します。つまり、セッション状態はプロセス内で管理され、プロセスが再循環されると状態は失われます。 ASP.NETには、なぜこのモードを使うのか不思議に思われるかもしれません。同じリンクから.. – Muthu

+0

これは、セッションがリサイクルされたことを意味し、私のコードの任意の時点でセッションをリサイクルしていないので、なぜinProcセッションがリサイクルされるのか知りたいですか? 2つのAPSが同じプロセスワーカーを共有しているのでしょうか?それらは異なるアプリケーションプールに常駐していますか? – AMember

0

これは奇妙です。両方のアプリケーションを別々のワーカープロセス(アプリケーションプール)に保存してみましたか?

+0

両方のアプリケーションがIIS上の異なるアプリケーションプールにあります。 – AMember

+0

あなたのウェブサイトは負荷分散されていますか?そうであれば、InProcは機能せず、State ServerまたはSQL Session Stateが必要になります。 –

+0

いいえ負荷分散されていません – AMember

0

これは奇妙なことですが、試したことは良い点です。 Session.Clear()がどこにも存在しないと確信していますか?

APP1が実行されていない場合でもAPP2はセッションを失いますか? ワーカープロセスはどのくらいの大きさですか?セッションがリセットされると、セッションの開始時と終了時に何かが表示されると思います。

+0

私はSession.Clear()を使用しません。両方のAPPSが一緒に実行されている、APP2はAPP1なしで実行することはできませんので、私はそれをテストすることはできません... – AMember

関連する問題