加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – ASP.NET MVC Controller.OnException不被调用

发布时间:2020-12-15 06:57:05 所属栏目:百科 来源:网络整理
导读:我有一个基本控制器类,我重写到Controller.OnException处理程序方法,以便为从这个类继承的某些类型的控制器提供一般的错误处理(这些控制器是返回 JSON结果的API控制器).当控制器引发异常时,OnException方法永远不会被调用.有没有人看到我做错了,还是有更好的
我有一个基本控制器类,我重写到Controller.OnException处理程序方法,以便为从这个类继承的某些类型的控制器提供一般的错误处理(这些控制器是返回 JSON结果的API控制器).当控制器引发异常时,OnException方法永远不会被调用.有没有人看到我做错了,还是有更好的办法来处理这种情况?

使用MVC 1.0

基层:

public class APIController : Controller
    {

        protected override void OnException(ExceptionContext filterContext)
        {
           //This is never called
            filterContext.Result =
                new JsonResult(); 
            base.OnException(filterContext);
        }


    }

继承类:

public class MyController : APIController
    {
public AjaxResult ForcedException()
        {
            throw new SystemException();
        }
}

解决方法

如果我正确地了解你的问题 – 你的异常必须在OnException中被标记为“已处理”.尝试这个:
filterContext.ExceptionHandled = true;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读