Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc Elmah.ErrorMailModule.ReportError引发FormatException时出错,该异常会回收w3wp进程_Asp.net Mvc_Elmah_Elmah.mvc - Fatal编程技术网

Asp.net mvc Elmah.ErrorMailModule.ReportError引发FormatException时出错,该异常会回收w3wp进程

Asp.net mvc Elmah.ErrorMailModule.ReportError引发FormatException时出错,该异常会回收w3wp进程,asp.net-mvc,elmah,elmah.mvc,Asp.net Mvc,Elmah,Elmah.mvc,最近,我注意到IIS中的web应用程序正在随机重新启动,有时每20分钟重新启动一次。我检查了事件日志,发现了以下各种错误: 级别:错误 源:.Net运行时 事件编号:1026 以下是例外情况的详细信息: Application: w3wp.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.

最近,我注意到IIS中的web应用程序正在随机重新启动,有时每20分钟重新启动一次。我检查了事件日志,发现了以下各种错误:

  • 级别:错误
  • 源:.Net运行时
  • 事件编号: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)。下面是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.netmvc4。

我提出了一个关于与ELMAH相关的谷歌代码的问题,我得到了一位开发人员的回复

基本上,电子邮件主题似乎在Elmah内部使用
string.Format()
将其格式化为错误消息{0}和错误类型{1}。就我而言,我在设置中指定的主题是:

{Error Encountered} Website_Name

触发FormatException的
{}
,因此出现问题。用圆括号代替它们很容易解决这个问题,因为我不需要花括号。我们可以通过执行
{{
}
来逃避它们,但在我的情况下,这是不必要的。

您是否尝试删除异步标志,它仍然失败?@alexanderb是的,这就是我当时尝试的。我现在已经检查了日志文件,但这种情况不再发生。但尽管如此,电子邮件发送还是相当昂贵,我不希望它发生在主线程上。我同意,异步更好。。但也许仅仅改变这个标志还不够,也许应该调整一些elmah(甚至iis)设置?不幸的是,我从未试过那个案子。