代码之家  ›  专栏  ›  技术社区  ›  Pure.Krome

如何在ASP.NET中以json的形式发送回我自己的404错误消息?

  •  0
  • Pure.Krome  · 技术社区  · 15 年前

    我试图发送一个简单的错误消息 Json ,和 HTTP code 作为 404 .

    所以我开始自己写 IExceptionFilter 检查以查看异常。如果异常抛出的类型为 ResourceNotFoundException 然后我将代码设置为 四百零四 . 否则其他一切如果 500 .

    现在,问题是。。返回默认的IIS7 404错误消息:(调用我的代码。。但它似乎绕过了它(稍后在管道中)。。。

    我需要耍什么花招吗?

    我需要一个自定义的错误处理(在web配置中)来打开还是什么?


    编辑: 我正试着做twitter的工作。他们的 Http Response Code documentation 展示/解释一些他们如何处理404等的例子。。我想在我的MVC应用程序中做到这一点。

    编辑2: 我所做的代码如下 here ,供参考:)

    1 回复  |  直到 15 年前
        1
  •  0
  •   Dan Atkinson    15 年前

    在处理异常时,是否将ExceptionHandled设置为true?

    这里有一个简单的例子。。。

    HandleException(ActionExecutedContext filterContext)
    {
      Exception exception = filterContext.Exception;
    
      //Check if our exception has been handled.
      if (filterContext.ExceptionHandled == false)
      {
        //Do your exception stuff
        filterContext.Result = YourExceptionMessageAsAnActionResult();
        //Set it as null.
        filterContext.ExceptionHandled = true;
        filterContext.HttpContext.Response.Clear();
      }
    }