セットアップ: 2 つの Web サーバーと別の状態サーバー
負荷分散された構成で 2 つの運用 Web サーバーがあります。彼らがホストする ASP.NET Web アプリは、web.configs で次の行を使用して (Web ファームのように) 状態を共有します。
<sessionState mode="StateServer" stateConnectionString="tcpip=9.9.9.9:42424" cookieless="false" timeout="60"/>
9.9.9.9 は、asp.net セッション状態サービスが実行されているマシンの IP です (実際には 9.9.9.9 ではありません。無実を保護するために変更されています)。これは 3 番目のマシン (実際にはデータベース サーバー) です。
それまではうまくいきました...
エラー: ウェブサイトがダウンしています!
突然、サイトがダウンし、一般的な asp.net エラー ページ (「このエラーを表示するにはカスタム エラーをオフにする」など) が表示されるだけでした。
アプリのログには、実際のエラー メッセージが記録されています。
未処理の例外が発生しました セッション状態サーバーにセッション状態要求を行うことができません。ASP.NET State サービスが開始されていること、およびクライアントとサーバーのポートが同じであることを確認してください。サーバーがリモート マシン上にある場合は、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\AllowRemoteConnection の値を確認して、サーバーがリモート リクエストを受け入れることを確認してください。サーバーがローカル マシン上にあり、前述のレジストリ値が存在しないか 0 に設定されている場合、状態サーバー接続文字列はサーバー名として「localhost」または「127.0.0.1」を使用する必要があります。
そのため、Web アプリが状態サーバー (9.9.9.9) に接続できなかったようです。
「auf の場合はオンにしてから onnegen を試してみました」-状態サーバーを再起動すると問題が解決しました。
なんで?
何が起こったのか、なぜ起こったのかを知りたいので、再発を防ぐことができます。
これまでのところ、私が持っているのは2つの理論だけです:
その頃、.net Framework 4 への Windows アップデートが状態サーバーに適用されました。それで、アップデートはasp.net状態サービスに何かをしたのでしょうか? Windows イベント ビューアーは、.net 4 がその頃に警告をログに記録したことを示しました。
IIS がインストールされていないか、このマシンに無効になっているため、IIS メタベースの更新は中止されました。ASP.NET を IIS で実行するように構成するには、IIS をインストールまたは有効にして、aspnet_regiis.exe /i を使用して ASP.NET を再登録してください。
製品 Web サイトと状態サーバーの間の一時的なネットワークの問題ですか? ただし、同じ物理ラック内で隣同士に配置されています。
??? 他のアイデアはありますか?
以前にこれを見た人、または私を修正できる人はいますか?