ELMAH不记录从ASP.NET MVC Ajax.BeginForm引发的异常

时间:2019-01-09 20:45:01

标签: c# asp.net-mvc elmah

我将ELMAH添加到我的ASP.NET MVC项目中,一切都很好。我注意到由Ajax.BeginForm(简单的Ajax表单发布)引起的异常不会被记录。

当我通过直接调用Controller Action或执行JQUERY $ .post()来使这些异常发生时,ELMAH会捕获这些异常。

控制器.cs

[HttpPost]
[Roles(AcctRoles.ThisRole)]
public ActionResult CreateTicket(TicketCreateViewModel ticketvm)
{            
    throw new Exception("HEY THIS IS AN AJAX ERROR. TEST.");
    return null;
}

查看(ELMAH不记录)

@using (Ajax.BeginForm("CreateTicket", "Tickets", null, new AjaxOptions
{
    HttpMethod = "POST"
}))
{

    <div class="form-horizontal">
    Form here
    </div>
}

JQUERY(Elmah做日志)

 <button onclick="$.post('@Url.Action("CreateTicket", "Tickets")', '');">TEST EXCEPTION BUTTON</button>

当我使用Fiddler或Chrome Inspector网络选项卡查看响应时,我看到了正常的死亡黄屏。当我查看事件查看器时,会看到标准的ASP.NET警告条目。

1 个答案:

答案 0 :(得分:0)

我没有意识到在发送html的页面上有富文本编辑器。这是ELMAH的明显错误,如以下所示:Elmah not logging exceptions for http post requests in MVC app - if the request contains XML