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



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

当我通过直接调用控制器操作或执行 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;
}

查看(埃尔玛不记录)

@using (Ajax.BeginForm("CreateTicket", "Tickets", null, new AjaxOptions
{
    HttpMethod = "POST"
}))
{
    <div class="form-horizontal">
    Form here
    </div>
}

JQUERY (ELMAH DO LOG)

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

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

我没有意识到页面上有一个富文本编辑器发送 html。这是ELMAH的一个明显错误,如下所示:Elmah没有在MVC应用程序中记录http post请求的异常 - 如果请求包含XML

相关内容

最新更新