明らかな(またはそう思った)最大のメモリ消費者(asp.netキャッシュ内の画像)を排除した後、あまり変わっていません。このWebではエンタープライズライブラリの例外処理を使用しており(理由はわかりませんが、使用しています)、これらの例外はログに記録されません。ちなみに、サーバーには4 GBのメモリがあるので、物理メモリが問題になるとは思いません。
イベントログによると、次のようになります。
まず、これをページから取得します(同じページから2回取得することはめったにありません)。
Exception information:
Exception type: Exception
Exception message: mscorlib - Exception of type 'System.OutOfMemoryException' was thrown.
次にこれ:
Description:
An unhandled exception occurred and the process was terminated.
Application ID: /LM/W3SVC/672222825/Root
Process ID: 1544
Exception: System.OutOfMemoryException
Message: Exception of type 'System.OutOfMemoryException' was thrown.
StackTrace: at System.Threading.ExecutionContext.CreateCopy()
at System.Threading._TimerCallback.PerformTimerCallback(Object state)
私の質問はこれです:プロファイラーを使用してクラッシュの原因を確認するにはどうすればよいですか?JetBrainsの.netメモリプロファイラーとdotTraceの2つのプロファイラーを試しました。メモリープロファイリングは、文字列がたくさんあることを除いて、実際には何も役に立ちません。関数の実行時間はすべて正常でダンディであるため、パフォーマンスプロファイリングも役に立ちません。プロファイラーの実行中にこのエラーが発生した場合、プロファイリングが停止するだけです。おそらく間違って使用しています。
psフォーミングして申し訳ありませんが、できる限りのことをしました。