0

我有一个 ASP.NET MVC 3 应用程序。这个应用程序有一些返回 JSON 的控制器操作。如果出现错误,我想把它扔回给用户。我的一项操作的一般结构如下所示:

[AcceptVerbs(HttpVerbs.Get)]
public ActionResult DoSomething()
{
  try
  {
    // Do something here
    return Json(new { statusCode = StatusCodes.SUCCESS }, JsonRequestBehavior.AllowGet);
  }
  catch (Exception ex)
  {
     // Log it
     LogException(ex);

     // Toss it
     throw ex;
  }
}

我的问题是,当遇到异常时,我在 Fiddler 中注意到生成了 302。我相信这是我在 web.config 中使用自定义错误作为设置的结果,如下所示:

<system.web>
  ...
  <customErrors mode="On" defaultRedirect="/error" />
  ...
</system.web>

我相信这是因为我在 Fiddler 中看到的位置价值。我正在使用自定义错误来执行实际返回视图的操作。无论如何,有没有办法让我绕过我要返回的操作中的自定义错误设置JsonResult

谢谢!

4

1 回答 1

0

这是可能的,但您必须调整 Global.asax 文件以重定向错误,如下所示:asp.net MVC3 上的自定义错误页面

然后你可以根据它是什么控制器或动作或请求类型来做不同的事情。

于 2013-03-09T04:50:51.337 回答