【问题标题】:ELMAH doesn't log exceptions raised from ASP.NET MVC Ajax.BeginFormELMAH 不记录从 ASP.NET MVC Ajax.BeginForm 引发的异常
【发布时间】:2019-06-04 16:43:05
【问题描述】:

我将 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;
}

查看(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 警告条目。

【问题讨论】:

  • 我刚刚创建了一个空白 MVC 项目并复制粘贴了您的代码。发布 ajax 表单时引发的错误记录在 ELMAH 中。您可以在示例项目中重新创建它以供我试用吗?
  • 我没有意识到在发送 html 的页面上有一个富文本编辑器。这是 elmah 的一个明显错误,如下所示:stackoverflow.com/questions/11630435/…
  • 也许用该信息写一个答案并将其标记为正确答案?

标签: c# asp.net-mvc elmah


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2014-05-07
    • 2011-06-04
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    • 2017-03-07
    • 1970-01-01
    • 2014-03-26
    • 2010-10-23
    相关资源
    最近更新 更多