检測到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为【经典】模式)。


我们将ASP.NET程序从IIS6移植到IIS7,可能执行提示下面错误:

  HTTP 错误 500.23 - Internal Server Error

  检測到在集成的托管管道模式下不适用的 ASP.NET 设置。

  为什么会出现以上错误?

  在IIS7的应用程序池有两种模式。一种是“集成模式”。一种是“经典模式”。

  经典模式 则是我们曾经习惯的IIS 6 的方式。

  假设使用集成模式,那么对自己定义的httpModules 和 httpHandlers 就要改动配置文件。须要将他们转移到<modules>和<hanlders>节里去。

  两种解决方法:

 

  第一种方法:配置应用程序池

  在IIS7上配置应用程序池。而且将程序池的模式改为“经典”,之后一切正常。如图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZWl0NTIw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

在搜索引擎输入上面提示的错误消息,搜索到的结果差点儿都是直接改为“经典”便浅尝辄止了。

但这样仅仅是权宜之计,用了IIS7.x,但实际仅仅发挥了6的功能。另外,在一些ASP.NET MVC程序中的效果也不好,所以,我们尝试下面解决方法:

 

另外一种方法:改动web.config配置文件:

 

比如原先设置(你的环境中可能没有httpModules,httpHandlers节点)

<system.web>

    ............

    <httpModules>

        <add name="MyModule" type="MyApp.MyModule" />

    </httpModules>

    <httpHandlers>

      <add path="*.myh" verb="GET" type="MyApp.MyHandler" />

    </httpHandlers>

</system.web>

 在IIS7应用程序池为“集成模式”时。改为:

<system.web>

    ...........

</system.web>

<system.webServer>

    <modules>

      <add name="MyModule" type="MyApp.MyModule" />      

    </modules>

    <handlers>

      <add name="MyHandler" path="*.myh" verb="GET" type="MyApp.MyHandler" preCondition="integratedMode" />

    </handlers>

</system.webServer>

 (假设你的web.config没有httpModules,httpHandlers节点。则直接在节点system.webServer中加入:

   <validation validateIntegratedModeConfiguration="false" />  
这样能够禁止验证集成模式,避免错误提示。

经典模式(classic mode)VS 集成模式(Integrated mode)

经典模式下,IIS会用ISAPI扩展(ISAPI extension aspnet_isapi.dll)和 ISAPI过滤器(ISAPI filter aspnet_filter.dll)来调用ASP.NET执行库来处理请求。假设使用经典模式的话,server会用两种管道来处理请求一个负责源码,另外一个负责托管代码。在这样的模式下,应用程序不能充分使用IIS7.X提供的服务。

 
集成模式是一种统一的请求处理管道,它将ASP.NET请求管道与IIS核心管道组合在一起。

在集成模式下。ASP.NET从IIS插件(IIS extension)的角色进入了IIS的核心去监測每一个请求和操作。在集成模式下,ASP.NET能更有效的在IIS下执行,而且能够有效的提高站点的性能。 有些在IIS6开发的代码须要执行于经典模式。由于在集成模式下会出现错误信息。

 
要想更有效的使用IIS7提供的服务, 建议将站点放在集成模式下,然后依据错误信息的提示解决那个问题。


IIS集成和经典配置的更多相关文章

  1. asp.net web.config 经典模式和集成模式相关配置

    <?xml version="1.0"?> <configuration> <!--IIS经典模式下使用--> <system.web&g ...

  2. IIS的集成和经典模式的区别

    集成和经典的区别: 1.集成模式集成通用映射,而经典模式必须添加DLL才可以使用通用映射,存在通用映射才可以拦截 2.集成模式是IIS7.0以上,经典模式是IIS6.0以下

  3. IIS7应用程序池集成和经典的区别

    IIS7应用程序池集成和经典的区别 IIS7应用程序池有集成和经典两种模式,根据微软官方的介绍, 集成模式,如果托管应用程序在采用集成模式的应用程序池中运行,服务器将使用 IIS 和 ASP.NET ...

  4. IIS7应用程序池集成和经典的区别 对IIS7经典模式和集成模式的理解 程序池经典和集成的区别

    IIS7应用程序池集成和经典的区别   IIS7应用程序池集成和经典的区别 IIS7应用程序池有集成和经典两种模式,根据微软官方的介绍, 集成模式,如果托管应用程序在采用集成模式的应用程序池中运行,服 ...

  5. 一次面试留下的实际应用问题。关于HttpModule,IIS集成模式。

    资料来自<IIS7开发与管理完全手册> 周五面试时有点紧张,没能静下心思考,当时隐约想到这个解决方案,但因面试环境和心态确未能明确的表述. 回家的地铁上已经找到解决办法. 要点:1基于IH ...

  6. Owin Middleware如何在IIS集成管道中执行

    Owin Middleware Components(OMCs) 通过安装Install-Package Microsoft.Owin.Host.SystemWeb 可以让OMCs在IIS集成管道下工 ...

  7. [转帖]IIS内虚拟站点配置信息说明

    web.config配置详细说明 https://www.cnblogs.com/zhangxiaolei521/p/5600607.html 原作者总结的很详细 但是没有完全的看完 自己对IIS 的 ...

  8. Reporting Service服务SharePoint集成模式安装配置(3、4、安装sharepoint 2010必备组件及产品)

    Reporting Service服务SharePoint集成模式安装配置 第三步和第四部 第三步 安装sharepoint 2010必备组件 1.安装SharePoint2010必备组件,执行Pre ...

  9. 从零开始学 Java - Spring 集成 Memcached 缓存配置(二)

    Memcached 客户端选择 上一篇文章 从零开始学 Java - Spring 集成 Memcached 缓存配置(一)中我们讲到这篇要谈客户端的选择,在 Java 中一般常用的有三个: Memc ...

随机推荐

  1. linux查看系统cpu信息

    # 查看物理CPU个数 cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l # 查看每个物理CPU中core的个数(即 ...

  2. [agc011e]increasing numbers

    题意: 如果一个十进制非负整数的所有数位从高位到低位是不减的,我们称它为“上升数”,例如1558,11,3,0都是上升数,而10,20170312则不是: 给定整数N,求最小的k使得N能被表示为k个上 ...

  3. man 7 glob

    GLOB(7) Linux Programmer's Manual GLOB(7) NAME glob - 形成路径名称 描述 (DESCRIPTION) 很久以前 在 UNIX V6 版 中 有一个 ...

  4. tree编译

    没有tree命令,就需要下载源代码 [root@fyc tree-1.7.0]#cd /opt/src [root@fyc tree-1.7.0]# wget ftp://mama.indstate. ...

  5. mysql5.7 安装方法 (跟旧的不一样了)

    MySQL 5.7发布之后很多网友都在说,打开想安装文件夹.但是文件夹中没有DATA目录, 没有mysqly默认库.启动不了数据库,那是因为5.7的数据库的初始化方法和之前的初始化不一样了. 首先这里 ...

  6. java 自定义实现base64编码转换

    1.base64编码转换 所谓base64编码,即按照规则把字符转化为"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456 ...

  7. mysql-联结

    一.联结 联结是利用SQL的select能执行的最重要的操作. 1.关系表:假如有一个包含产品目录的数据库表,其中每个类别的物品占一行.对于每种物品要求存储的信息包括产品描述和价格,以及生产该产品的供 ...

  8. 【金阳光測试】大话Android自己主动化測试--Android自己主动化系列(1)--金阳光于2013年4月份

    Android自己主动化測试框架和工具在四年多的发展日趋成熟. 从五年前的第一代自己主动化架构演进到眼下第四代(本系列讲座第7篇后将具体剖析第三代和第四代自己主动化框架)从曾经最早谷歌推崇的monke ...

  9. poj_2481,Cows,树状数组

    将e按从大到小排序,统计前i-1个中比 #include<iostream> #include<cstdio> #include<cstring> #include ...

  10. P3227 [HNOI2013]切糕

    题目描述 经过千辛万苦小 A 得到了一块切糕,切糕的形状是长方体,小 A 打算拦腰将切糕切成两半分给小 B.出于美观考虑,小 A 希望切面能尽量光滑且和谐.于是她找到你,希望你能帮她找出最好的切割方案 ...