ELMAH не регистрирует исключения, возникшие из ASP.NET MVC Ajax.BeginForm - PullRequest
0 голосов
/ 09 января 2019

Я добавил 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.

1 Ответ

0 голосов
/ 28 мая 2019

Я не догадывался, что на странице, которая отправляла html, был текстовый редактор. Это очевидная ошибка в ELMAH, как показано здесь: Elmah не регистрирует исключения для запросов HTTP post в приложении MVC - если запрос содержит XML

...