zoukankan      html  css  js  c++  java
  • 有关于IIS7.5集成模式下的web.config配置问题记录

    昨天在IIS7.5中添加配置404页面时遇到了一些问题,记录如下:

    一开始在<customError>下的<error>节点配置404不起作用,由于程序运行在IIS7.5集成模式下,经过MSDN和GOOGLE,发现

    需要在<system.webServer>节点中配置,我们知道<system.web>节点是iis7.0之前版本的主要配置节点,由于在II7.0以后IIS管

    道处理与ASP.NET管道处理进行了集成,这样提高了ASP.NET的处理性能,具体这方面的资料请GOOGLE,问题随之而来,新增加的

    <system.webServer>节点中需要进行哪些修改以程序在IIS7的集成模式下能完全生效呢,主要包含以下几个方面:

    (1) <modules> -----相当于<system.web>中的<httpModules>

    (2) <handlers> -----相当于<system.web>中的<httpHandlers>

    (3) <customError>下的<error>----相当于<system.web>中的<httpErrors>

    以上三点中,如果你的程序中有自定义的httpModules或者httpHandlers的话,那么第一点和第二点非常重要,具体资料请MSDN

    明白了这些,配置也就不难了,如下:

    <httpErrors errorMode="DetailedLocalOnly">
    <remove statusCode="404"/>
    <error statusCode="404" path="/404.htm" responseMode="ExecuteURL"/>
    </httpErrors>

    补充说明:

            errorMode有三个值,分别为Custom、DetailedLocalOnly、Detailed,意思为对用户与服务器端始终显示自定义页面、

    只能服务器端显示详细出错信息、对用户与服务器端始终显示详细出错信息。

            responseMode有File、ExecuteUrl、Redirect三个层,分别表示使用服务器端静态文件、可执行的URL、URL转向。

    要注意:<httpErrors>与<customErrors>是不同的,前者主要用于处理http相关的错误信息,而后者主要是处理应用程序级的错误页转向

    附<customErrors>的一些细节说明:

         同样,如果Application_Error和<customerErrors>同时存在,也存在执行顺序的问题。因为优先级Application_Error事件> <customErrors>配置项,所以发生应用程序级错误时,优先执行Application_Error事件中的代码,如果Application_Error事件中调用了Server.ClearError()函数,<customerErrors>配置节中的defaultRedirect不起作用,因为Exception已经被清除;如果Application_Error事件中没用调用了Server.ClearError()函数,错误页会重新定位到defaultRedict指定的URL页面,为用户显示友好出错信息。

         通过对.NET提供的以上四种错误处理机制的分析,我们可以把它们从不同的角度分类,便于我们理解和使用。

          1.从功能上分类:用于异常处理(Handling exceptions)是Page_Error事件和Application_Error事件;用户错误页面重定向(Redirecting the user to an error page)的是 ErrorPage属性 和 <customErrors>配置项。      2.从错误处理的范围分类:用于页面级(Page level)错误处理的是Page_Error事件 和 ErrorPage属性;用于应用程序级(Application level)错误处理的是Application_Error事件 和 <customErrors>配置项。

    希望本文能对使用IIS7.0及IIS7.5的朋友们有帮助:)

  • 相关阅读:
    JAVA基础——编程练习(二)
    JAVA基础——面向对象三大特性:封装、继承、多态
    JVM内存
    50. Pow(x, n) (JAVA)
    47. Permutations II (JAVA)
    46. Permutations (JAVA)
    45. Jump Game II (JAVA)
    43. Multiply Strings (JAVA)
    42. Trapping Rain Water (JAVA)
    41. First Missing Positive (JAVA)
  • 原文地址:https://www.cnblogs.com/zpino/p/2420766.html
Copyright © 2011-2022 走看看