サーバーで時々奇妙な問題が発生します。これは通常、1 つまたは複数の Web アプリケーションがアップグレードされたときに発生します。問題をデバッグすると、ここまで来ました...
リクエストの処理中:
- ASP.NET アプリケーションでは、オブジェクトをセッションに配置します
- 後で実行するコード (同じリクエスト) では、同じセッション値を検索します。空っぽです!
セッション サービスが機能していないようですね。このコードは 1 日に何百回も実行され、Web サーバー上の Web アプリケーションのアップグレードに関連するだけで、開発環境または運用状況で失敗することはありません。
そして奇妙なことに、私たちは状況を修正する適切な方法もあまり好きではありません. IIS のリセット、ASP.NET 状態のサーバーの停止/開始、web.config の編集、さらにはサーバーの再起動でさえ、すべてのビンが使用されます。通常、それを修正するには組み合わせが必要です。ほとんどの場合、すぐには修正されませんが、IIS の 3 回目のリセットなどの2 ~ 3 分後に修正されることがあります。(したがって、結局それを修正したものではない可能性があります。)
私はここで夢中になります。何が問題なのですか?マイクロソフトのバグですか?
いくつかの詳細情報:
- .NET 2.0 で実行しています
- ASP.NET 状態サービスを使用しています
- セッション変数にアクセスして null を返すコードは、ASP.NET アプリによって参照されるアセンブリ内にあります。HttpContect.Current を使用してセッションを取得します