C# 如果我的MVC3应用程序中出现问题,如何创建一个全面错误页面?
目前,我的web.config文件设置为不显示调试信息。当发生错误,出现问题时,将向我的用户显示此页面: 很抱歉,处理您的请求时出错 这是默认的错误页面C# 如果我的MVC3应用程序中出现问题,如何创建一个全面错误页面?,c#,.net,asp.net-mvc-3,custom-error-pages,C#,.net,Asp.net Mvc 3,Custom Error Pages,目前,我的web.config文件设置为不显示调试信息。当发生错误,出现问题时,将向我的用户显示此页面: 很抱歉,处理您的请求时出错 这是默认的错误页面 如果我的网站在任何时候任何地方出现问题,我如何重定向到自定义视图?错误处理可能会很混乱。虽然编辑默认错误页面会有所帮助,但您应该了解一些详细信息 本质上,有两种类型的错误:托管代码中的错误,您可以使用代码以某种方式“捕获”。第二,有一些IIS错误从未出现在托管代码中,因为从未调用关联的处理程序。例如,不映射任何路由的请求不会调用任何代码,因为I
如果我的网站在任何时候任何地方出现问题,我如何重定向到自定义视图?错误处理可能会很混乱。虽然编辑默认错误页面会有所帮助,但您应该了解一些详细信息 本质上,有两种类型的错误:托管代码中的错误,您可以使用代码以某种方式“捕获”。第二,有一些IIS错误从未出现在托管代码中,因为从未调用关联的处理程序。例如,不映射任何路由的请求不会调用任何代码,因为IIS假定请求了静态资源 我建议这三个步骤使错误处理更加方便
- 不要重定向错误时重定向违反HTTP。相反,您只需使用
或Server.Transfer
)返回页面,或者直接写入响应流,具体取决于错误的处理位置。关键点:URL不应该改变。例如,见returnview(“…”
- 添加并注册继承
的全局筛选器,并实现错误处理(和日志记录)例程。您可以使其智能化,以便它返回HTML请求的HTML和JSON请求的JSON,等等HandleErrorAttribute
- 配置并删除IIS的默认错误处理程序,以确保所有错误都指向同一个目标(如果需要)。这将防止您访问IIS默认错误页面。您可以在IIS管理器中或在
中执行此操作web.config