使用ELMAH处理来自json请求的异常

时间:2010-10-25 16:03:42

标签: jquery asp.net-mvc elmah

我正在使用ELMAH来处理我的MVC项目中的expception。一切正常,除非请求是ajax请求。

捕获并记录异常但是当我执行response.redirect到错误页面时,重定向不会发生,并且错误消息显示在同一页面上,与现有内容重叠。

以下是代码:

这是捕获异常的elmah代码。如果它是Ajax请求,我分配值“Y”

    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方法中,我将从ELMAH返回的GUID存储在稍后的会话变量中 向用户显示id,以便他们可以邮寄GUID,我可以看到针对数据库中相应elmah表的GUID查询异常。

     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标签。

我真的无法理解这一点。如果有人知道答案,我会非常感激。

请帮忙。

提前致谢。

0 个答案:

没有答案