ASP.NET错误处理(错误跳转页)

虽然我们发送给用户的公用错误信息是安全的,就是说它不会威胁到应用程序的秘密,但是这样的信息并不好看。也许你希望用户永远也看不到这样的信息。相反,当处理请求的过程中,如果发生了一个为处理的错误,你希望能够显示自己的“定制错误页面”,显示出自己的品牌以及特定的错误信息

向ASP.NET 应用程序中增加定制错误信息非常容易。首先,编写自己的 web页面,它可以是任何类型的文件:.htm,.aspx,.asp,等等。然后在应用程序的config.web文件中修改配置信息,让它指向这个文件。

举例说明,以下这个配置信息说明在发生了任何未能预定处理错误的情况下,浏览器都应该被重定向到“ErrorPage.aspx”页面:

<customErrors mode="remoteonly" defaultRedirect="MyError.aspx">
</customErrors>

 <customerrors>标记中的“defaultredirect”属性定义了在发生错误的情况下,用户将被重定向到的“默认”页面。或者,也可以根据

响应的http代码状态,重定向到其它的页面来覆盖这个默认值。

例如:重定向到一个特殊的“未找到文件”错误页面、“非法访问”错误页面、“服务器冲突”错误页面等等。举例说明,以下的配置信息覆盖2个特定的http 状态代码,所有其它错误都返回到一个默认页面:

在web.config的<system.web>下加上以下配置

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

mode:开发时设置成On,发布时设置成RemoteOnly
mode三个可选值:

on:总是显示定制错误页面;
off:不显示定制错误页面,直接显示调用堆栈等异常信息;
remoteOnly:对于本机的访问显示调用堆栈等异常信息,对于外部用户显示定制错误页面。
一般设置为remoteOnly,这样发送错误的话,管理员可以在服务器的浏览器看详细错误信息,普通用户看不到。学习演示的时候mode设置为on,否则看不到定制页。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值