Обработка исключений из запроса json с помощью ELMAH - PullRequest
1 голос
/ 25 октября 2010

Я использую ELMAH для обработки исключений в моем проекте MVC.Все работает нормально, за исключением случаев, когда запрос является ajax-запросом.

Исключение регистрируется и регистрируется, но когда я делаю response.redirect на страницу ошибки, перенаправление не происходит, и сообщение об ошибкеотображается на той же странице, перекрывая существующее содержимое.

Вот код:

Это код elmah для перехвата исключений.Я присваиваю значение «Y», если это Ajax-запрос

    if (context.HttpContext.Request.IsAjaxRequest())
    {
        context.HttpContext.Session["IsAjax"] = "Y";
    }
    var e = context.Exception;
    if (!context.ExceptionHandled
                     || RaiseErrorSignal(e) 
                            || IsFiltered(context))
                        return;
     LogException(e);

И в моем глобальном asax-файле

В методе ErrorLog_Logged я сохраняю GUID, возвращенный из ELMAH, в переменной сеанса для последующего использования.отобразите идентификатор для пользователя, чтобы он мог отправить GUID по почте, и я вижу исключение, запрашивающее GUID для соответствующей таблицы elmah в базе данных.

     protected void ErrorLog_Logged(object sender, ErrorLoggedEventArgs args)
     {
             var id = args.Entry.Id;
             Session["ErrorId"] = id.ToString();
     }

и в методе application_Error я делаю следующее

     protected void Application_Error( object sender, EventArgs e )
    {
        Response.Redirect("/Error/Index");
    }

Что я делаю не так.Перенаправление не работает, и сообщение об ошибке отображается в верхней части существующей страницы.

На моей существующей странице есть несколько вкладок jquery.

Я действительно не могу разобратьсяэтот.Если кто-нибудь знает ответ, я буду очень признателен.

Пожалуйста, помогите.

Заранее спасибо.

...