3

私は数日間抱えていた問題の解決に取り組んでいます。私のサイトの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ループ内で行われました。とにかく、今はすべてが正常に戻っており、私は幸せです。

4

2 に答える 2

4

おそらく明白なことを述べていますが、これを引き起こしている可能性のある app_start のグローバル asax にばかげたコードはありませんか?

無限ループか何かのように聞こえますか?

于 2012-05-24T13:57:29.433 に答える
1

私の場合に何が起こったのかを簡単にメモします。

Process MonitorFailed Request Tracingも役に立ちませんでした。Web サイトは (ほぼ) 永久に読み込まれました。

最後に、数分待った後、「ネットワーク パスが見つかりません」というエラーが発生しました。

その理由は、存在しない SQL Server インスタンスへの接続文字列を入力したため、どういうわけかサーバーを検索し続けたためです。最後に、タイムアウトが発生しました。

解決策は、Web.Config 内の接続文字列で正しい SQL Server を指定するだけでした。

于 2014-07-24T06:23:00.023 に答える