Я добавил 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 DOES LOG)
<button onclick="$.post('@Url.Action("CreateTicket", "Tickets")', '');">TEST EXCEPTION BUTTON</button>
Когда я использую Fiddler или вкладку сети Chrome Inspector для просмотра ответа, я вижу обычный желтый экран смерти. Когда я смотрю на средство просмотра событий, я вижу стандартную запись предупреждения ASP.NET.