ELMAH 不记录从 ASP.NET MVC Ajax.BeginForm 引发的异常
ELMAH doesn't log exceptions raised from ASP.NET MVC Ajax.BeginForm
我将 ELMAH 添加到我的 ASP.NET MVC 项目中,一切正常。我注意到 Ajax.BeginForm(简单 ajax 形式 post)引起的异常不会被记录。
当我通过直接调用控制器操作或执行 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 警告条目。
没想到发送的页面上有富文本编辑器html。这是 ELMAH 的一个明显错误,如下所示:
我将 ELMAH 添加到我的 ASP.NET MVC 项目中,一切正常。我注意到 Ajax.BeginForm(简单 ajax 形式 post)引起的异常不会被记录。
当我通过直接调用控制器操作或执行 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 警告条目。
没想到发送的页面上有富文本编辑器html。这是 ELMAH 的一个明显错误,如下所示: