最可能的原因: 
•    此应用程序在 system.web/httpModules 节中定义配置。 
可尝试的操作: 
•    将配置迁移到 system.webServer/modules 节。也可以手动这样做,或通过在命令行中使用 AppCmd 来这样做 - 例如,%SystemRoot%\system32\inetsrv\appcmd migrate config "Default Web Site/"。使用 AppCmd 迁移应用程序将使它能够在集成模式下工作,并能继续在经典模式下和以前版本的 IIS 上工作。 
•    如果您确信可以忽略此错误,则可以通过将 system.webServer/validation@validateIntegratedModeConfiguration 设置为 false 来禁用它。 
•    也可以将应用程序切换到经典模式应用程序池 - 例如,%SystemRoot%\system32\inetsrv\appcmd set app "Default Web Site/" /applicationPool:"Classic .NET AppPool"。只有在无法迁移应用程序时才这样做。 
(将“Default Web Site”和“Classic .NET AppPool”设置为您的应用程序路径及应用程序池名称) 
链接和更多信息集成模式是在 IIS 7.0 上运行 ASP.NET 应用程序的首选模式

{ IIS 的应用程序池根据托管管道模式分了两种类型:集成和经典两种

集成 .NET 模式下,应用程序不应在
<system.web>/<httpModules> 配置节中指定 ASP.NET 模块组件,而应使用
<system.webServer>/<modules> 配置节来加载 ASP.NET 模块组件。

经典.NET 模式 则是我们以前习惯的IIS 6 的方式,没有上述限制。}

解决方法:

方法1在IIS7上配置应用程序池.

方法2:在IIS7添加我们的模块(modules)

参考:http://aabs.wordpress.com/2007/11/16/ihttpmodule-not-running-after-conversion-to-iis-7-and-net-35/

方法3:修改web.config

再细了解:

IIS7的Application
Pools有两种mode,一种是Integrated,一种是classic。如果使用Integrated模式,那么对自定义的
httpModules和httpHandlers就要修改配置文件了,需要将他们转移到<modules>
和<hanlders>节里去。

IIS7的两种模式和IIS6有什么区别?

IIS7.0 Integrated mode:asp.net
的modules和handlers从<system.webServer>下的<modules>
和<handlers>里读取,以前的<system.web>下的<httpModules>
和<httpHandlers>配置节会被忽略,如果设置禁止验证(disabled validation),是不会产生错误的。

IIS7.0 Classic mode:与以上情况是相反的,<modules>和<handlers>会被忽略。

IIS6.0 :这个大家都不陌生了。

如果做一个可以在IIS6和IIS7的两种mode下都可以运行的配置?validateIntegratedModeConfiguration=“false”是做什么用的?有需要的朋友可以在这里查看详情。

其次,从iis6迁移到iis7上后,有些url rewrite功能可能就不好用了,下面这篇文章讲述了一个hack方法,有效的控制了staticFile handler的职责,实现了像iis6那样的工作方式。

示例代码:

 

<system.web>
   <!-- Modules for IIS 6.0 and IIS 7.0 Classic mode -->  
  <httpModules>          
    <add name="MagicAjaxModule" type="MagicAjax.MagicAjaxModule, MagicAjax"/>    
  </httpModules>
   <!-- Handlers for IIS 6.0 and IIS 7.0 Classic mode -->   
    <httpHandlers>
      <addpath="*.myh"verb="GET"type="MyApp.MyHandler" />
    </httpHandlers> 
</system.web>
<system.webServer>
  <!-- Modules for IIS 7.0 Integrated mode -->    
  <modules>        
    <add name="MagicAjaxModule" type="MagicAjax.MagicAjaxModule, MagicAjax"/>    
  </modules>
  <!-- Handlers for IIS 7.0 Integrated mode -->   
   <handlers>
      <addname="MyHandler"path="*.myh"verb="GET"type="MyApp.MyHandler"preCondition="integratedMode" />      
    </handlers>    <!-- Disable detection of IIS 6.0 / Classic mode ASP.NET configuration -->      
   <validation validateIntegratedModeConfiguration="false" />
 </system.webServer>

ASP.NET程序从IIS6移植到IIS7时出现500.22错误的更多相关文章

  1. ASP.NET程序从IIS6移植到IIS7时出现500.22错误(转)

    最可能的原因: •    此应用程序在 system.web/httpModules 节中定义配置. 可尝试的操作: •    将配置迁移到 system.webServer/modules 节.也可 ...

  2. 解决微信小程序用 SpringMVC 处理http post时请求报415错误

    解决微信小程序用 SpringMVC 处理http post时请求返回415错误 写微信小程序时遇到的问题,这个坑硬是让我整了半天 wx.request请求跟ajax类似处理方法一致 小程序端请求代码 ...

  3. IIS7部署报错 500.22错误 检查到这集成托管模式下不使用的ASP.NET配置

    公司的一个项目,环境为: .Net 4.0 + MVC3,部署在Windows Server 2003R2 IIS6.0上面运行正常, 迁移到新服务器Windows Server 2008R2,部署在 ...

  4. Migration of ASP.NET app from IIS6 to IIS7 (7.5)

    For many of us familiar problem. You developing applications under IIS6 and you're about to move the ...

  5. (转)关于X64位系统IIS7下支持32位asp.net程序

    最近在windows2008 x64位系统下的IIS7下部署asp.net程序. vs2005或vs2008默认的情况下是Any cpu 的也就是支持x86和x64两种系统的.可我的程序在引用了一个三 ...

  6. 将Web站点由IIS6迁移至IIS7

    最近开始着手逐步将所有的Web站点由Win2003+IIS6迁移至64位Win2008+IIS7,基本还算顺利.这里就把相关内容整理总结一下.首先自然是要安装基本运行环境,包括iis,.net fra ...

  7. IIS5.1、IIS6.0、IIS7.5中安装配置MVC 3

    本文主要介绍在IIS5.1.IIS6.0.IIS7.5中安装配置MVC 3的具体办法! 正文: IIS5.1 1. 安装Microsoft .net FrameWork 4.0安装包; 2. 安装AS ...

  8. 部署 外网 ASP.NET程序时, IIS安全性 配置 -摘自网络

    最近,和朋友们在聊及ASP.NET程序的安全性没有JAVA高,IIS(Internet Infomartion Server)的存在很多漏洞(以及新型蠕虫,例如Code Red 和Nimda),安全得 ...

  9. ASP.NET 程序发布详细过程

    前言 ASP.NET网站的发布,无论是初学者还是高手,在程序的发布过程中或多或少会存在一些问题,譬如VS发布ASP.NET程序失败.IIS安装失败.IIS发布失败.局域网内不能访问 配置文件错误.权限 ...

随机推荐

  1. win7使用USB转串口连接mini2440方法

    不想嚼别人吃剩的馍.我只说我自己是怎么痛苦的连上的. 环境设备: window7笔记本,没有串口,装有XP和Ubuntu2个虚拟机(不是必须的,我只是说明一下我的环境) 友善之臂mini2440(含U ...

  2. Ubuntu下安装Skyeye

    ubuntu12下安装skyeye1.3.2 1.首先安装skyeye的依赖包,比如gtk的依赖,一般Ubuntu 都默认安装了,稳妥起见,运行下面的代码: sudo apt-get install ...

  3. 用document.getElementsByTagName()返回的真的是数组吗?

    document.getElementsByTagName()返回的真的是数组吗? 这是这几天开发中遇到的问题. 一个如下的HTML结构: <ul> <li> <li&g ...

  4. ECLIPSE里面SVN图标消失,文件状态不显示问题

    ECLIPSE里面SVN状态图标消失,重新启动eclipse,重新导入工程也不能显示SVN状态图标.这多半是由于之前eclipse没有正常关闭引起的. 解决办法2个: 方法一:1. 在Window&g ...

  5. 关于DPM(Deformable Part Model)算法中模型结构的解释

    关于可变部件模型的描写叙述在作者[2010 PAMI]Object Detection with Discriminatively Trained Part Based Models的论文中已经有说明 ...

  6. MySQL更新时Error Code:1093和Error Code:1175的解决办法

    Error Code: 1093. You can't specify target table 'ws_product' for update in FROM clause 这个是我们在使用upda ...

  7. PHP安全编程:会话数据注入 比会话劫持更强大的攻击(转)

    一个与会话暴露类似的问题是会话注入.此类攻击是基于你的WEB服务器除了对会话存储目录有读取权限外,还有写入权限.因此,存在着编写一段允许其他用户添加,编辑或删除会话的脚本的可能.下例显示了一个允许用户 ...

  8. 从零开始学习jQuery-------jQuery元素选择器(三)

    下面我们来介绍一下jQuery元素选择器,在Web开发中我们最常用的操作是获取元素,然后对获取的元素进行一系列的操作,jQuery根据获取页面元素的不同,可以将jQuery选择器分为四大类:基本选择器 ...

  9. http状态码对应表

    http状态码 1**:请求收到,继续处理 2**:操作成功收到,分析.接受 3**:完成此请求必须进一步处理 4**:请求包含一个错误语法或不能完成 5**:服务器执行一个完全有效请求失败 100— ...

  10. 【IOS】 XML解析和xml转plist文件(GDataXML)

    iOS对于XML的解析有系统自带的SDK--NSXMLParser,鄙人愚拙,只会用GDataXML进行解析,这里仅介绍GData的使用.(以下图为例) 1.对于一个xml文件,先读取出来 NSDat ...