IIS7.5下的web.config 404应该如何配置发布时间:2020/3/23 14:18:00 阅读次数:

    IIS环境下web.config的配置遇到点问题,记录如下:
  一开始在下的节点配置404不起作用,由于程序运行在IIS7.5集成模式下,发现需要在节点中配置。
  我们知道节点是iis7.0之前版本的主要配置节点,由于在II7.0以后IIS管道处理与ASP.NET管道处理进行了集成,这样提高了ASP.NET的处理性能,问题随之而来,新增加的
  网站需要进行哪些修改以程序在IIS7的集成模式下能完全生效呢,主要包含以下几个方面:

  
  补充说明:
  errorMode有三个值,分别为Custom、DetailedLocalOnly、Detailed,
  意思为对用户与服务器端始终显示自定义页面、只能服务器端显示详细出错信息、对用户与服务器端始终显示详细出错信息。
  responseMode有File、ExecuteUrl、Redirect三个层,
  分别表示使用服务器端静态文件、可执行的URL、URL转向。
  要注意:是不同的,前者主要用于处理http相关的错误信息,而后者主要是处理应用程序级的错误页转向
  附的一些细节说明:
  同样,如果Application_Error和同时存在,也存在执行顺序的问题。
  因为优先级Application_Error事件> 配置项,所以发生应用程序级错误时,优先执行Application_Error事件中的代码,如果Application_Error事件中调用了Server.ClearError()函数,
  配置节中的defaultRedirect不起作用,因为Exception已经被清除;
  如果Application_Error事件中没用调用了Server.ClearError()函数,错误页会重新定位到defaultRedict指定的URL页面,为用户显示友好出错信息。
  通过对.NET提供的以上四种错误处理机制的分析,我们可以把它们从不同的角度分类,便于我们理解和使用。
  1.从功能上分类:
  用于异常处理(Handling exceptions)是Page_Error事件和Application_Error事件;
  用户错误页面重定向(Redirecting the user to an error page)的是 ErrorPage属性 和 配置项。
  2.从错误处理的范围分类:
  用于页面级(Page level)错误处理的是Page_Error事件 和 ErrorPage属性;
  用于应用程序级(Application level)错误处理的是Application_Error事件 和 配置项。