检測到在集成的托管管道模式下不适用的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. @GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping

    @GetMapping.@PostMapping.@PutMapping.@DeleteMapping.@PatchMapping  @GetMapping是一个组合注解,是@RequestMappi ...

  2. 2018秋寒假作业4——PTA编辑总结1

    #include<stdio.h> #include<math.h> int main(void) { int n,i,j,p,m,ge,N,k; char op; ){ sc ...

  3. C# 获取本地电脑所有的盘符

    话不多说,直接上菜:  public List<string> GetRemovableDeviceID() { List<string> deviceIDs = new ...

  4. android开发游记:ItemTouchHelper 使用RecyclerView打造可拖拽的GridView

    以下是RecyclerView结合ItemTouchHelper实现的列表和网格布局的拖拽效果. 效果图例如以下:(gif图有点顿卡,事实上执行是非常流畅的) demo下载地址: DragRecycl ...

  5. Redis 存储图片 [base64/url/path]vs[object]

    一.base64图片编解码 基本流程:从网络获取下载一张图片.然后base64编码,再base64解码,存到本地E盘根文件夹下. import java.awt.image.BufferedImage ...

  6. List of content management systems

    https://en.wikipedia.org/wiki/List_of_content_management_systems Microsoft ASP.NET Name Platform Sup ...

  7. hdoj--3552--I can do it!(贪心模拟)

    I can do it! Time Limit: 2000/2000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Tot ...

  8. Objects and values

    If we execute these assignment statements: We know that a and b both refer to a string, but we don’t ...

  9. ip反查域名的详细信息(多种方法)

    不多说,直接上干货! 至于这里怎FQ,很简单,请见我下面的博客! kali 2.0安装 lantern(成功FQ) shadowsocks(简称SSFQ软件)步骤详解 FQ软件lantern-inst ...

  10. Windows 绝赞应用(该网站收集了日常好用的工具和软件)

    在我们的电脑使用过程中,或多或少的被流氓软件恶心过.流氓软件之所以这么流氓全是靠他那恐怖的用户数量,基本上形成垄断后,各种流氓行为就一点点体现出来了. 我们也可以选择不用,但对流氓软件来说多你一个不多 ...