最近、IIS の Web アプリケーションがランダムに、時には 20 分ごとに再起動することに気付きました。イベント ログを確認したところ、次のようなさまざまなエラーが見つかりました。
- レベル: エラー
- ソース: .Net ランタイム
- イベント ID: 1026
以下は、例外の詳細です。
Application: w3wp.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.FormatException
Stack:
at System.Text.StringBuilder.AppendFormat(System.IFormatProvider, System.String, System.Object[])
at System.String.Format(System.IFormatProvider, System.String, System.Object[])
at Elmah.ErrorMailModule.ReportError(Elmah.Error)
at Elmah.ErrorMailModule.ReportError(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
Elmah の最新の安定バージョン (1.2.2) を使用しています。以下は、<elmah>
web.config の構成ノードです。
<elmah>
<errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data/errors/" />
<security allowRemoteAccess="1" />
<errorMail from="errors.visitgozo@casasoft-dev.com" to="errors@casasoft-dev" subject="{Error_Encountered} [Visit Gozo]"
async="true" smtpPort="25" smtpServer="mail.casasoft.com.mt" userName="errors@casasoft-automailer" password="RvjyBiyvePVVpcLBNgJ6" />
</elmah>
このようなメールを非同期モード (async="true") で送信するように設定しています。これらがバックグラウンド スレッドで生成され、バックグラウンド スレッドでエラーが発生した場合、私が知る限り、プロセスは終了します。
何ができるか考えていますか?
IIS7 と ASP.Net MVC 4 を使用しています。