博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IIS7.5下的web.config 404应该如何配置
阅读量:6272 次
发布时间:2019-06-22

本文共 1670 字,大约阅读时间需要 5 分钟。

环境下的配置的问题,在IIS7.5中添加配置时遇到了一些问题,记录如下:

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

    我们知道<system.web>节点是之前版本的主要配置节点,由于在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>配置项。

转载地址:http://jwlpa.baihongyu.com/

你可能感兴趣的文章
地包天如何矫正?
查看>>
中间件
查看>>
Android SharedPreferences
查看>>
算法与数据结构1800题 图
查看>>
css面试题
查看>>
Vue组建通信
查看>>
用CSS画一个带阴影的三角形
查看>>
前端Vue:函数式组件
查看>>
程鑫峰:1.26特朗.普力挺美元力挽狂澜,伦敦金行情分析
查看>>
safari下video标签无法播放视频的问题
查看>>
浅析DNS解析过程
查看>>
使用prometheus + grafana + pushgateway搭建监控可视化系统
查看>>
计算机网络不完全整理(上)--春招实习
查看>>
01 iOS中UISearchBar 如何更改背景颜色,如何去掉两条黑线
查看>>
对象的继承及对象相关内容探究
查看>>
Spring: IOC容器的实现
查看>>
把你的devtools从webpack里删除
查看>>
Git 常用操作和流程
查看>>
Serverless五大优势,成本和规模不是最重要的,这点才是
查看>>
如何利用MongoDB实现高性能,高可用的双活应用架构?
查看>>