ASP.NET错误页

当页面发生错误的时候,ASP.Net会将错误信息展示出来,这样一来不好看,二来会泄露网站的内部
实现信息,给网站带来安全隐患,因此需要定制错误页,发生错误时显示开发人员定制的页面
404页面放点广告也是好的嘛
配置web.config,配置customErrors区域:

<customErrors mode="On" defaultRedirect="MyErrorPage.aspx">
   <error statusCode="403" redirect="NoAccess.htm" />
   <error statusCode="404" redirect="FileNotFound.htm" />
 </customErrors> 

mode三个可选值:

On:总是显示定制错误页面;

Off:不显示定制错误界面,直接显示调用堆栈等异常信息;
Remoteonly:对于本机的访问显示调用堆栈等异常信息,对于外部用户的显示定制错误页面

一般设置为RemoteOnly,这样发生错误的话,管理员可以在服务器的浏览器中看详细错误信息,
普通用户看不到.学习演示的时候mode设置为On,否则看不到定制页。可以在定义错误页中判断
Request.UserHostAddress来设置某些ip看到异常信息,可以读取Session如果是管理员则可以看异常信息

error子元素设定对于不同的状态码使用不同的错误页,很多网站都把404做一个特殊的错误页
没有单独设置的状态码错误则显示defaultRedirect中指定的页面
错误页即可以使用htm页面,也可以使用aspx页面
在aspx页面中可以用HttpContext.Current.Server.GetLastError()拿到异常对象。
一般不要把异常信息显示给用户,而是使用后面讲的Log4Net等将异常记录到系统日志。
如果要在错误页面中拿到异常对象,必须在customErrors中设置redirectMode="ResponseRewrite",
因为默认是客户端重定向,在错误页面中就拿不到异常对象了

时间: 2024-10-13 15:03:00

ASP.NET错误页的相关文章

在Asp.Net的Global.asax中Application_Error跳转到自定义错误页无效的办法

在开发Asp.Net系统的时候,我们很多时候希望系统发生错误后能够跳转到一个自定义的错误页面,于是我们经常会在Global.asax中的Application_Error方法中使用Response.Redirect方法跳转到自定义错误页,但有时候(特别是当站点部署到IIS后)Application_Error方法中使用Response.Redirect方法会失效,当Asp.Net发生异常错误后还是显示出来的是Asp.Net的默认错误黄页.其根本原因是尽管我们在Application_Error方

asp.net连接默认错误页

在一些网站中,当网络地址发生错误时,通常会自动跳转到一个页面,并在该页面显示错误信息,此功能也可以通过配置Web.Config文件实现.例如,访问者在访问网站时出现错误,程序将跳转到默认页面error.aspx. 在Web.Config文件中配置连接默认错误页字符串是在<customErrors><customErrors/>节中完成的,它需要设置以下两个属性. Mode属性:用于指定是启用或禁用自定义错误,还是仅向远程客户端显示自定义错误.此属性可以为On.Off和RemoteO

ASP.NET MVC下自定义错误页和展示错误页的几种方式

在网站运行中,错误是不可避免的,错误页的产生也是不可缺少的. 这几天看了博友的很多文章,自己想总结下我从中学到的和实际中配置的. 首先,需要知道产生错误页的来源,一种是我们的.NET平台抛出的,一种是网站所依赖的宿主抛出的,一般来讲我们所依赖的宿主就是IIS了. IIS中的错误页入口: 其中的错误码想必并不陌生 这里是在服务器上找不到所需资源时抛出的错误页,在这里可以设置需要展示的错误页面,只需将预定的错误页面加入服务器中,然后在指定状态码下配置路径即可. 这是请求在IIS中时,还未完全进入到a

asp.net MVC自定义错误页,并记录错误日志

只需要在Global.asax文件中添加以下代码,则可以在出错后友好的展示错误页,也不需要在很多地方写记录错误日志的代码 protected void Application_Error(object sender, EventArgs e) { if (HttpContext.Current.IsCustomErrorEnabled) { return; } var exception = Server.GetLastError(); var httpException = new HttpE

全局文件,错误页,静态页,IIS配置及防黑

添加全局应用程序类. <%@ Application Language="C#" %> <script runat="server"> //整个网站第一次被访问的时候调用 void Application_Start(object sender, EventArgs e) { //在应用程序启动时运行的代码 Application.Lock(); Application["web"] = "welcome&quo

ASP.NET错误处理的方式(总结)

转载至: http://www.cnblogs.com/chinhr/archive/2007/06/26/795947.html ASP.NET错误处理的方式(整理&总结)英文文章研究:http://wrfwjn.blog.hexun.com/4172839_d.html总述:要 创建页中的全局处理程序,请创建 Page_Error 事件的处理程序.要创建应用程序范围的错误处理程序,请在 Global.asax 文件中将代码添加到 Application_Error 方法.只要您的页或应用程序

网页错误页提示码汇总及使用示例

      Web项目中总会遇到对错误页面的设计,好的错误页面处理,会让软件体验更佳,可以帮助运维人员了解基本错误信息,更好的维护软件.当然从底层避免错误是更好的软件开发方式,但我们很难避免软件一些非常隐性的Bug. 以下对网页错误页提示码进行汇总,并对最常见的404错误给出示例页面Demo. 2xx- 成功:这类状态提示码代表服务器成功地接受了客户端请求.           200:确定,客户端请求已成功.           201:已创建.           202:已接受.    

网站设置404错误页的经历

设置404错误页的意义我就不说了.主要想记录一下这次设置错误页遇到的问题和解决方法. 第一版:本地测试能跳转到自定义的404页面,上线之后却没能跳转. 因为之前的项目有跳转404页面的例子,所以直接拷贝了一份到现在的项目,代码如下: HomeController public ActionResult Index() { Response.StatusCode = 404; Response.Charset = "utf-8"; return View("404")

错误页配置

<customErrors mode="On" defaultRedirect="MyErrorPage.html"> <error statusCode="403" redirect="NoAccess.htm" /> <error statusCode="404" redirect="FileNotFound.html" /> </custo