2012-03-13 36 views
3

私は、Webファームで動作するようにWebアプリケーションを拡張しようとしています。私はカスタムセッション状態プロバイダを書いています。すべての作品はそれ自身で動作するようですが、セッションクッキーをクリアしてから突然すべてが再び機能するまで、サイトは最終的に応答を停止します。カスタムSessionStateプロバイダとWebファーム

カスタムプロバイダを単一のWebサーバーで使用すると、すべてがうまく動作します。

両方のWebサーバーで同じSessionStateServiceを指しているファームを使用すると、それらの間でバウンスしたり、ログインしたままなどの状態になることがあります。

私は、3-5ページ要求のための期待どおりに動作するカスタムプロバイダとのに対してファームを使用しようとするが、最終的に

私が持っている...それだけで応答を停止し、ブラウザがページを待機立ち往生したら両方のマシンでマシンキーを設定します(セッション状態サービスが動作していることを確認してください)。これはビューステートにのみ有効ですが、私は信じています。

他にも設定がありますか、不足しているものがありますか?それはロック時の問題以外のこの時点での私の唯一の推測です。これはファーム上でのプレゼンテーションのしかたなのです。これで2日間戦っても無回答になってしまいました...

+0

カスタムセッション状態プロバイダは、組み込みのセッション状態サービスとは何か異なりますか? (つまり、カスタムカスタムプロバイダが必要なのはなぜですか?)ファーム内の各マシンでカスタムプロバイダを実行しているのか、それとも一元的に実行していますか、別のクラスタまたはセッション状態プロバイダのファームを実行していますか?より一般的には、全体のアーキテクチャについて教えてください。 –

+0

私はcassandraに接続するプロバイダを書いています。私はすべてのノード上にあった100%分散セッションを持つことができる必要がありました。各Webマシンには、独自のローカルノードがcassandraクラスタの一部として組み込まれているため、サーバーのダウンタイムによってユーザーがダウンすることはありません。 cassandraクラスタに対して単一のWebサーバーを稼働させると、両方のWebサーバーが同時にローカルIPを使用していても正常に動作します。私はラウンドロビンにそれを許可すると、それは最終的に干し草になる。私が変えるのは、セッション状態のXMLノードを単一のセッション状態サービスに変更することだけです。 – jheizer

答えて

0

GetItemExclusiveのロックを微調整した後は、今は正常に動作しているようです。

関連する問題