私は数日間抱えていた問題の解決に取り組んでいます。私のサイトの1つが再構築されるか、AppPoolがリサイクルされるたびに、最初のページの読み込みが永久にハングします(まあ、私は30分しか待っていません)。これは、最大10のサイトのうち1つの特定のサイトでのみ発生しています。ASP.NETサイトです。
これが私が観察したことです:
- ワーカープロセスの下のIISマネージャーで、要求を確認できます。動詞=GET、Sate = ExecuteRequestHandler、モジュール名=ManagedPipelineHandler。もちろん、経過時間は増え続けています。
- 最初のリクエストを行ったブラウザを閉じてから、新しいブラウザを開いて別のリクエストを行うと、ページがすぐに読み込まれます。
- 私のコードでは、Global.asaxファイルのApplication_Startは最初のリクエストで呼び出されません。2番目のリクエストで呼び出されます。
- ワーカープロセスにより、マシンのメモリ使用量が屋根を通過します
IISのトラブルシューティングに不慣れですが、何時間も検索してもどこにも行きません。
最近サイトで行った唯一の主要なコード変更は、log4netを使用したロギングの実装を開始したことです。しかし、web.configファイルとGlobal.asaxの両方からlog4netコードを削除しようとしましたが、それでもうまくいきません。
他の誰かがこれを経験しましたか?もしそうなら、どのようにそれを解決しましたか?
ありとあらゆる助けをいただければ幸いです。
追加: サイトのルートに.txtファイルを配置し、ビルド後の最初のファイルとしてロードすると、すぐにロードされます。ただし、ワーカープロセスは以前とまったく同じように機能し、メモリ使用量は依然として屋根を通り抜けます。
最終編集:
そんなバカみたいな感じです。理由は説明できませんが、何らかの理由でGlobal.asaxのブレークポイントが突然ヒットし、問題を特定することができました。これは、Entity Frameworkを介したデータベースの呼び出しであり、正しく記述されていませんでした。つまり、問題の列からすべての行がフェッチされた後にフィルタリングが実行されました。さらに悪いことに、フィルタリングはforeachループ内で行われました。とにかく、今はすべてが正常に戻っており、私は幸せです。