IIS集成和经典配置

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



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

  HTTP 错误 500.23 - Internal Server Error

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

  为什么会出现以上错误?

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

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

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

  两种解决方法:

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

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

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

但这样只是权宜之计,用了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运行库来处理请求。如果使用经典模式的话,服务器会用两种管道来处理请求一个负责源代码,另外一个负责托管代码。在这种模式下,应用程序不能充分使用IIS7.X提供的服务。

集成模式是一种统一的请求处理管道,它将ASP.NET请求管道与IIS核心管道组合在一起。在集成模式下,ASP.NET从IIS插件(IIS extension)的角色进入了IIS的核心去监测每个请求和操作。在集成模式下,ASP.NET能更有效的在IIS下运行,并且可以有效的提高网站的性能。 有些在IIS6开发的代码需要运行于经典模式,因为在集成模式下会出现错误信息。

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



IIS集成和经典配置

时间: 2024-11-05 20:30:32

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

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

<?xml version="1.0"?> <configuration> <!--IIS经典模式下使用--> <system.web> <httpHandlers> <add path="request.aspx" verb="*" type=" Bll.Handler.Test"/> <add path="test.aspx"

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

IIS7应用程序池集成和经典的区别 IIS7应用程序池有集成和经典两种模式,根据微软官方的介绍, 集成模式,如果托管应用程序在采用集成模式的应用程序池中运行,服务器将使用 IIS 和 ASP.NET 的集成请求处理管道来处理请求. 经典模式,用经典模式的应用程序池中运行,服务器会继续通过 Aspnet_isapi.dll 路由托管代码请求,其处理请求的方式就像应用程序在 IIS 6.0 中运行一样. 所以理解集成和经典的区别,一个通俗的说法就是经典模式即继续使用IIS6的模式,也就是以前的模式.

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

Owin Middleware Components(OMCs) 通过安装Install-Package Microsoft.Owin.Host.SystemWeb 可以让OMCs在IIS集成管道下工作 在IIS集成管道里,这个request pipeline 包含HttpModules关联到一组预定义的管道事件,例如 BeginRequest, AuthenticateRequest, AuthorizeRequest,等 如果我们将OMC和HttpModule进行比较,OMC也和HttpMo

Tomcat与IIS集成详解

本文介绍如何把IIS服务器与Tomcat集成.本文的参考书籍是<Tomcat与Java Web开发技术详解>第三版,作者:孙卫琴.本文所用的软件版本为:Window10,Tomcat9.本文所涉及的源代码的下载网址为:http://www.javathinker.net/javaweb/iis-tomcat.zip IIS(Internet Information Service)服务器是微软开发的功能强大的Web服务器,IIS为创建和开发电子商务提供了安全的Web平台.把Tomcat与IIS

t3用户-角色-权限hibernate经典配置

[java] view plain copy print? 用户-角色-权限hibernate经典配置. [java] view plain copy print? 既然有人问起,我就写下说明吧.在文章中间的配置文件那里.权当回忆一下,也帮助更多人.这是以前学校时写的,没有注释.都是贴的代码笔记.看到的莫要见怪.欢迎学习交流. [java] view plain copy print? [java] view plain copy print? 首先是三个实体类: [java] view pla

IIS理解安装与配置

在网上或者一些技术社区我们经常会遇到一些讨论IIS问题文章.那么究竟IIS是什么?有什么用呢?不少电脑爱好者对IIS都充满兴趣,以下百事网小编为大家简单介绍下. IIS是什么? IIS是Internet Information Services英文全称的缩写,是一个World Wide Web server服务.IIS是一种Web(网页)服务组件,其中包括Web服务器.FTP服务器.NNTP服务器和SMTP服务器,分别用于网页浏览.文件传输.新闻服务和邮件发送等方面,它使得在网络(包括互联网和局

Win7下IIS的安装与配置

win7下IIS的安装和配置 图文教程,需要的朋友可以参考下 一.首先是安装IIS.打开控制面板,找到“程序与功能”,点进去 二.点击左侧“打开或关闭Windows功能” 三.找到“Internet 信息服务”,按照下图打勾即可 等待安装完成 四.安装完成后,再回到控制面板里面,找到“管理工具”,点进入 五.双击“Internet 信息服务(IIS)管理器”就是IIS了.如果经常需要使用IIS的朋友,建议鼠标指到“Internet 信息服务(IIS)管理器”上,右键--发送到--桌面快捷方式,这

window7下用IIS建站点及配置

最近一个问题很困扰我,今天则得到了答案,也意味着我该选择了. 不知道大家有没有遇到过这样的情况,我是上年刚毕业,大四时进行过java培训,12年9月-13年4月,在这之前已经自学过java.7月份时进入一家公司工作,今年3月份辞职,4月份找到工作,来上班了.一开始就不太喜欢公司氛围,前台,hr,态度什么的都不太好,工作环境也极像客服部,整天电话不断,讨论声不断,第一个星期真是煎熬,去了两三天之后有辞职的想法,但是后面想想还是算了,公司待遇还可以. 但是进入到公司后leader让学PHP,学PHP

IIS的安装与配置

1.运行环境与软件要求 Windows 2000 以上 (不包括Windows XP Home版) IIS 4.0 以上 Microsoft Access 2000 Dreamweaver MX 2.IIS的安装与配置 a.安装IIS 若操作系统中还未安装IIS服务器,可打开“控制面板”,然后单击启动 “添加/删除程序”, 在弹出的对话框中选择 “添加/删除Windows组件”,在Windows组件向导对话框中选中“Internet信息服务(IIS)”,然后单击“下一步”,按向导指示,完成对II