asp.net mvc重写404,500错误
来源:互联网 发布:企业级正规php第三方 编辑:程序博客网 时间:2024/05/16 00:59
在Global.asax文件中
可以看到系统异常处理的捕获:
1
2
3
4
public
static
void
RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(
new
HandleErrorAttribute());
}
我们需要重写这个捕获方法
1、重写HandleErrorAttribute
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/// <summary>
/// 错误日志(Controller发生异常时会执行这里)
/// </summary>
public
class
AppHandleErrorAttribute : HandleErrorAttribute
{
/// <summary>
/// 异常
/// </summary>
/// <param name="filterContext"></param>
public
override
void
OnException(ExceptionContext filterContext)
{
//使用log4net或其他记录错误消息
Exception Error = filterContext.Exception;
string
Message = Error.Message;
//错误信息
string
Url = HttpContext.Current.Request.RawUrl;
//错误发生地址
filterContext.ExceptionHandled =
true
;
filterContext.Result =
new
RedirectResult(
"/SiteStatus/HtmlError500/?q="
+ Message);
//跳转至错误提示页面
}
}
2、使用重写后的HandleAttribute
更改系统注册方法:
1
2
3
4
public
static
void
RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(
new
AppHandleErrorAttribute());
}
以上方法就完成了对500错误异常的捕获。
若还需要捕获404错误,则可以使用web.config文件来设置,因为404可以无需记录详细消息。
1
2
3
<
customErrors
mode
=
"On"
>
<
error
statusCode
=
"404"
redirect
=
"~/SiteStatus/HtmlError404?404"
/>
</
customErrors
>
相应的Controller和View需自己加上即可。
0 0
- asp.net mvc重写404,500错误
- ASP.NET MVC URL重写与优化
- asp.net mvc重写JsonResult返回消息
- ASP.NET MVC 常见错误
- asp.net mvc 503 错误
- asp.net mvc 应用程序错误“/”
- asp.net的MVC编程、MV编程以及URL重写
- asp.net的MVC编程、URL重写以及MV编程
- asp.net的MVC编程、URL重写以及MV编程
- asp.net的MVC编程、MV编程以及URL重写
- asp.net mvc web url 伪静态页面重写技术
- asp.net的MVC编程、URL重写以及MV编程 .
- asp.net mvc OnActionExecuting 方法重写后的执行顺序
- ASP.NET MVC 错误提示信息本地化
- ASP.NET MVC 错误提示信息本地化
- ASP.NET MVC中错误处理方式
- ASP.NET MVC中错误处理方式
- ASP.NET MVC中错误处理方式
- 09、Spring_web.xml_DispatcherServlet
- WinSock2.h和windows.h同时包括报错解决方案
- 说说MFC中CRuntimeClass和CObject之间的那点事
- 基于xmpp openfire smack开发之Android消息推送技术原理分析和实践[4]
- JS错误:Uncaught SyntaxError: Unexpected token ILLEGAL
- asp.net mvc重写404,500错误
- 计算机领域国际会议分类及排名
- mybatis 获取id错误
- LeetCode 206-Reverse Linked List
- 史上最详细 最基础的 android 面试 知识点总结(一)
- 利用迭代器,适配器模式实现统一数据访问接口。
- mysql 多个字段拼接
- 根据资源的名字获取其ID值
- Objective-C Autorelease Pool 的实现原理