码迷,mamicode.com
首页 > Web开发 > 详细

Web站点错误提示页面和默认访问页面设置

时间:2014-10-27 12:45:03      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:简单的错误处理页设置   设置站点默认访问页面优先级   webconfig   

1、asp.net 定制简单的错误处理页面

通常web应用程序在发布后,为了给用户一个友好界面和使用体验,都会在错误发生时跳转至一个自定义的错误页面,而不是asp.net向用户暴露出来的详细的异常列表。
 简单的错误处理页面可以通过web.config来设置
<configuration>
  <system.web>
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
  <error statusCode="403" redirect="NoAccess.htm" />
  <error statusCode="404" redirect="FileNotFound.htm" />
  </customErrors>
</system.web>
</configuration>

mode说明:
On 指定启用自定义错误。如果未指定 defaultRedirect,用户将看到一般性错误。
 
Off 指定禁用自定义错误。这允许显示标准的详细错误。
 
RemoteOnly 指定仅向远程客户端显示自定义错误并且向本地主机显示 ASP.NET 错误。这是默认值。
 
默认值为 RemoteOnly。


如果想通过编程的方式来呈现错误原因,可以通过Page_Error事件来做这件事.
 另一种方式则可以通过Global.asax来实现,我觉得这种方式较为方便,另外如果能结合一个单独的更加友好的页面,则看来起更舒服一些
 
Global.asax(如果需要,可以记录错误日志)

 void Application_Error(object sender, EventArgs e) 
     {
         Exception objErr = Server.GetLastError().GetBaseException();
         string error = "发生异常页: " + Request.Url.ToString() + "<br>";
         error += "异常信息: " + objErr.Message + "<br>";
         Server.ClearError();
         Application["error"] = error;
         Response.Redirect("~/ErrorPage/ErrorPage.aspx");
     }


再将错误信息显示在ErrorPage.aspx页面上,或者只记录日志不做显示。


2、asp.net 通过web.config设置站点默认访问页面优先级
     设置靠前的优先级别越高
  
<system.webServer>
    <defaultDocument>
      <files>
        <clear/>
        <add value="default.aspx"/>
        <add value="index.htm"/>
        <add value="index.html"/>
        <add value="index.aspx"/>
        <add value="Default.htm"/>
        <add value="Default.asp"/>
        <add value="iisstart.htm"/>
      </files>
    </defaultDocument>
  </system.webServer>

Web站点错误提示页面和默认访问页面设置

标签:简单的错误处理页设置   设置站点默认访问页面优先级   webconfig   

原文地址:http://blog.csdn.net/fuyifang/article/details/40505725

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!