asp.net-mvc – 如果抛出自定义异常,则重定向asp.net mvc
发布时间:2020-12-16 04:29:39 所属栏目:asp.Net 来源:网络整理
导读:如果在我的应用程序中抛出自定义错误,我需要全局重定向我的用户.我已经尝试将一些逻辑放入我的global.asax文件中以搜索我的自定义错误,如果它被抛出,执行重定向,但我的应用程序永远不会访问我的global.asax方法.它一直给我一个错误,说我的异常未被用户代码处
如果在我的应用程序中抛出自定义错误,我需要全局重定向我的用户.我已经尝试将一些逻辑放入我的global.asax文件中以搜索我的自定义错误,如果它被抛出,执行重定向,但我的应用程序永远不会访问我的global.asax方法.它一直给我一个错误,说我的异常未被用户代码处理.
这就是我在全球范围内所拥有的. protected void Application_Error(object sender,EventArgs e) { if (HttpContext.Current != null) { Exception ex = HttpContext.Current.Server.GetLastError(); if (ex is MyCustomException) { // do stuff } } } 我的异常抛出如下: if(false) throw new MyCustomException("Test from here"); 当我把它放入抛出异常的文件中的try catch时,我的Application_Error方法永远不会到达.任何人都有一些关于如何全局处理这个问题的建议(处理我的自定义异常)? 谢谢. 2010年1月15日编辑: RequestContext rc = new RequestContext(filterContext.HttpContext,filterContext.RouteData); string url = RouteTable.Routes.GetVirtualPath(rc,new RouteValueDictionary(new { Controller = "Home",action = "Index" })).VirtualPath; filterContext.HttpContext.Response.Redirect(url,true); 解决方法
您想为控制器/操作创建客户过滤器.您需要继承FilterAttribute和IExceptionFilter.
像这样的东西: public class CustomExceptionFilter : FilterAttribute,IExceptionFilter { public void OnException(ExceptionContext filterContext) { if (filterContext.Exception.GetType() == typeof(MyCustomException)) { //Do stuff //You'll probably want to change the //value of 'filterContext.Result' filterContext.ExceptionHandled = true; } } } 一旦创建了它,就可以将该属性应用于所有其他控制器继承的BaseController,以使其具有站点范围的功能. 这两篇文章可以帮助: > Filters in ASP.NET MVC – Phil Haack (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET服务与存储库层
- asp.net-mvc – ALTER TABLE DROP COLUMN失败,因为表’yyy’
- 在Asp.net中POST后清除表单
- asp.net-mvc – 如果ActionResult未更改,则将MVC.NET Outpu
- asp.net – 任何方式构建Google文档,如PDF文件的查看器?
- 在MVC 5中上传图像时,asp.net-mvc – Request.Files.Count总
- ASP.NET Cookie过期时间始终是1/1/0001 12:00 AM
- asp.net-mvc – ASP.NET MVC:如何处理必须转到每个视图的模
- asp.net – 通过Web服务访问连接字符串
- 将整数格式化为5位数的字符串
推荐文章
站长推荐
- 如何在asp.net中为一个控件分配多个“CssClass”
- Asp.net core利用IIS在windows上进行托管步骤详解
- asp.net – 将http状态代码设置为XXX.X?
- asp.net-mvc – Breeze.js失败,无法加载文件或程
- 谈谈基于SQL Server 的Exception Handling[上篇]
- asp.net-mvc – 我的CRUD LINQ代码在哪里? ASP.
- asp.net – 如何加入这些表以显示相关的用户名?
- asp.net – 检查.NET中两个双精度相等的问题 –
- asp.net版本的timthumb php类
- asp.net-mvc – 来自Objects MVC的DropDownList
热点阅读