IIS集成和经典配置
我们将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插件(IIS extension)的角色进入了IIS的核心去监測每一个请求和操作。在集成模式下,ASP.NET能更有效的在IIS下执行,而且能够有效的提高站点的性能。 有些在IIS6开发的代码须要执行于经典模式。由于在集成模式下会出现错误信息。
IIS集成和经典配置的更多相关文章
- asp.net web.config 经典模式和集成模式相关配置
<?xml version="1.0"?> <configuration> <!--IIS经典模式下使用--> <system.web&g ...
- IIS的集成和经典模式的区别
集成和经典的区别: 1.集成模式集成通用映射,而经典模式必须添加DLL才可以使用通用映射,存在通用映射才可以拦截 2.集成模式是IIS7.0以上,经典模式是IIS6.0以下
- IIS7应用程序池集成和经典的区别
IIS7应用程序池集成和经典的区别 IIS7应用程序池有集成和经典两种模式,根据微软官方的介绍, 集成模式,如果托管应用程序在采用集成模式的应用程序池中运行,服务器将使用 IIS 和 ASP.NET ...
- IIS7应用程序池集成和经典的区别 对IIS7经典模式和集成模式的理解 程序池经典和集成的区别
IIS7应用程序池集成和经典的区别 IIS7应用程序池集成和经典的区别 IIS7应用程序池有集成和经典两种模式,根据微软官方的介绍, 集成模式,如果托管应用程序在采用集成模式的应用程序池中运行,服 ...
- 一次面试留下的实际应用问题。关于HttpModule,IIS集成模式。
资料来自<IIS7开发与管理完全手册> 周五面试时有点紧张,没能静下心思考,当时隐约想到这个解决方案,但因面试环境和心态确未能明确的表述. 回家的地铁上已经找到解决办法. 要点:1基于IH ...
- Owin Middleware如何在IIS集成管道中执行
Owin Middleware Components(OMCs) 通过安装Install-Package Microsoft.Owin.Host.SystemWeb 可以让OMCs在IIS集成管道下工 ...
- [转帖]IIS内虚拟站点配置信息说明
web.config配置详细说明 https://www.cnblogs.com/zhangxiaolei521/p/5600607.html 原作者总结的很详细 但是没有完全的看完 自己对IIS 的 ...
- Reporting Service服务SharePoint集成模式安装配置(3、4、安装sharepoint 2010必备组件及产品)
Reporting Service服务SharePoint集成模式安装配置 第三步和第四部 第三步 安装sharepoint 2010必备组件 1.安装SharePoint2010必备组件,执行Pre ...
- 从零开始学 Java - Spring 集成 Memcached 缓存配置(二)
Memcached 客户端选择 上一篇文章 从零开始学 Java - Spring 集成 Memcached 缓存配置(一)中我们讲到这篇要谈客户端的选择,在 Java 中一般常用的有三个: Memc ...
随机推荐
- 手把手教你如何新建scrapy爬虫框架的第一个项目(下)
前几天小编带大家学会了如何在Scrapy框架下创建属于自己的第一个爬虫项目(上),今天我们进一步深入的了解Scrapy爬虫项目创建,这里以伯乐在线网站的所有文章页为例进行说明. 在我们创建好Scrap ...
- document.body
比如document.body,最好是写成document.getElementsByTagName("body")[0];
- jQuery基本操作以及与js的一些比较
jQuery和js主要区别在DOM操作 用jQuery必须先引进jQuery.js文件 js和jQuery写在哪: 1.标签里面 常用就是方法调用 2.写在script标签里面 3.js文件 dom操 ...
- Django REST framework 自定义字段
自定义字段 继承 Field 类 覆盖父类中的方法 to_representation() 调用该方法将初始数据类型转换为基本的可序列化数据类型 to_internal_value() 调用该方法将原 ...
- bzoj4551 [HEOI2016]树
题目描述 在2016年,佳媛姐姐刚刚学习了树,非常开心.现在他想解决这样一个问题:给定一颗有根树(根为1),有以下 两种操作:1. 标记操作:对某个结点打上标记(在最开始,只有结点1有标记,其他结点均 ...
- luogu P1495 曹冲养猪(中国剩余定理)
题意 题解 翻到了一个金句 就跟这句话说得一样,就是个裸题. 所以看模板呗. #include<iostream> #include<cstring> #include< ...
- Centos6.6 yum源更新
1备份: cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d//CentOS-Base.repo.ori 2下载: wget -O /etc/y ...
- solr启动时报错org.apache.solr.common.SolrException: undefined field text的解决办法
solr启动时报错org.apache.solr.common.SolrException: undefined field text的解决办法 原创 2015年08月21日 20:47:40 标签: ...
- Qt之QFileIconProvider(根据扩展名获取文件图标、类型)
简述 在Qt之QFileIconProvider一节中已经讲解关于如何获取文件图标与类型.但只仍针对本地已存在的文件,此节,我们主要运用前面分享的内容,讲述如何通过任意后缀或本地不存在的文件来获取相关 ...
- POJ 3254 Corn Fields 状态压缩DP (C++/Java)
id=3254">http://poj.org/problem? id=3254 题目大意: 一个农民有n行m列的地方,每一个格子用1代表能够种草地,而0不能够.放牛仅仅能在有草地的. ...