我的理解是,引发错误信号应该记录我的错误或点击自定义 HandleErrorWithELMAHAttribute 类(取自此 例子) ,但两者都没有。

我正在为有问题的控制器使用 HandleErrorWithElmah 装饰器。当涉及到控制器中未处理的异常时,错误日志记录会起作用(我显式调用 LogException 而不是使用第二个代码块中提到的条件) 例子)。但是用于处理错误的错误信号功能让我感到困惑。错误信号如何工作...它是否应该做除日志记录之外的其他事情...如果是这样,我如何使用它记录我处理的异常?

这是我用来发出已处理错误信号的代码

ErrorSignal.FromCurrentContext().Raise(new Exception("Some Handled Error")); 

下面是我在网络配置中的设置片段

  <configSections>
        <sectionGroup name="elmah">
            <section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah" />
            <section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" />
            <section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" />
            <section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah" />
        </sectionGroup>
     </configSections>


<elmah>
<security allowRemoteAccess="yes" />
<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="Log" />
</elmah>



<httpHandlers>
    <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>
<httpModules>
    <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
</httpModules>
有帮助吗?

解决方案

我将 Elmah 与 .NET MVC 一起使用,并以编程方式引发 Elmah 异常对我来说很有效。我可能在这里抓着一根救命稻草,但从下面的第四条评论来看 这一页 在 Elmah 站点上,Web.config 中包含几行,这些行不在上面的示例中。

可能您只是没有在代码片段中包含这些行,但我想无论如何我都会把它扔掉

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top