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

  2014-08-08

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

迁移到新服务器Windows Server 2008R2,部署在 IIS7.0上, 应用程序池中,托管管道模式中选中了“集成”模式,如下图:

其他配置如下:

配置完成后,访问出错报错,

最后检查出了原因:该项目中的web.config配置文件不适合IIS7.0。

于是将应用程序池的管道模式选择为“经典”模式

再次访问一切正常。

  问题的根本原因是IIS7.0的机制已经发生改变,不再与II6一样,但是兼容IIS6.0。

IIS 7.0对配置文件进行了一些修改,Web开发人员可以使用这些修改内容。例如,<system.webServer>节就是这样一项修改,

无论是经典模式还是集成模式都可以识别<system.webServer>节,同时,<system.webServer>节既可以在applicationHost.config文件中设置,也可以在web.config文件中设置。

<system.webServer>节既可以控制静态页面,也可以控制动态页面。即使在经典模式中,<system.webServer>节也具有重要作用,它可以帮助Web开发人员在web.config文件中设置不同的IIS配置。

  在集成模式中,HTTP模块和HTTP处理程序不再定义于<system.web>中,而是定义于<system.webServer>中。如果在集成模式中运行一个包括了HTTP模块或HTTP处理程序的web.config文件,那么将会发生失效。幸运的是,微软公司已经详细规定了一个编号为500.22的错误信息,这个错误信息说明了如何一步步地迁移web.config文件。

利用AppCmd.exe工具,可以轻而易举地完成文件的迁移工作。为了在Default Web Site上迁移web.config文件,可以执行以下AppCmd.exe命令:

  1. AppCmd.exe migrate config "Default Web Site/"

下面是一个web.config文件的例子,这个例子可以在IIS 6.0的经典模式下工作:

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <configuration>
  3. <system.web>
  4. <httpModules>
  5. <add type="classname, assemblyname"
  6. name="modulename" />
  7. </httpModules>
  8. </system.web>
  9. </configuration>

AppCmd.exe migrate config命令运行结束后,web.config文件将被更新为以下内容:

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <configuration>
  3. <system.web>
  4. <httpModules>
  5. <add type="classname,
  6. assemblyname" name="modulename" />
  7. </httpModules>
  8. </system.web>
  9. <system.webServer>
  10. <modules>
  11. <add name="modulename"
  12. type="classname, assemblyname"
  13. preCondition="managedHandler" />
  14. </modules>
  15. <validation
  16. validateIntegratedModeConfiguration="false" />
  17. </system.webServer>
  18. </configuration>

  注意,web.config文件中仍然保留了httpModules节,其目的在于向后兼容,但是,在system.webServer中,modules节则处于优先的地位。

validateIntegratedMode Configuration属性可以确保IIS不会因为存在遗留的<httpModules>节而产生问题。

集成管道模式是默认的管道模式,具有一些比较重要的优势。我们需要做的就是迁移定义了HTTP处理程序和HTTP模块的所有web.config文件,从而确保其能够在IIS 7.0下正常工作。

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

时间: 2024-10-05 00:36:12

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

报错500

在执行maven项目web工程时   报错 原因;  一直报错500   在配置文件都是好的的情况下启动容器    提示说配置文件不兼容 但问题是可以这样写的   是因为导入的时候出现了包冲突的问题,造成了解析错误 解决方法:把包都删除   重新导入 原文地址:https://www.cnblogs.com/mxcl/p/8143765.html

Visual Studio 2013执行项目报错:HTTP 错误 500.22

转至:http://www.codingwhy.com/410.html 具体报错 HTTP 错误 500.22 - Internal Server Error 检测到在集成的托管管道模式下不适用的 ASP.NET 设置. 解决方法 1.选中项目,注意右下角的属性 2.把属性中的“托管管道模式”改为“经典” 3.ctrl+s保存,重新启动项目,项目就正常运行了

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

最可能的原因:  •    此应用程序在 system.web/httpModules 节中定义配置.  可尝试的操作:  •    将配置迁移到 system.webServer/modules 节.也可以手动这样做,或通过在命令行中使用 AppCmd 来这样做 - 例如,%SystemRoot%\system32\inetsrv\appcmd migrate config "Default Web Site/".使用 AppCmd 迁移应用程序将使它能够在集成模式下工作,并能继续在

weblogic部署报错

weblogic部署报错Exception occured while downloading files 最近有项目需要使用weblogic做为应用服务器,服务器操作系统为linux,在部署应用时,在windows环境下,一切正确,发布到linux环境时,一直报" [DeploymentService:290066]Error occurred while downloading files from admin server for deployment request "1,47

生产环境nginx代码报错500

2015年11月23日晚搭建完BRS系统(上传图片系统)后,测试机器功能发现无法图片无法上传到服务器上,查看nginx日志后发现日志nginx状态码返回500(内部服务器错误), 1.开始认为是nginx权限导致,把upload目录改为777,但是依然无效,后思考下如果是权限问题不应该返回500,而是403之类的状态码,后开始进行下一步排查: 2.后利用google的调试功能进行排查,后发现貌似数据库报错,插入不了数据,有的字段未显示但还不能为空,所以插入不进去数字,原因在于数据库配置问题,后把

IMPDP导入报错ORA-27040: 文件创建错误, 无法创建文件,remap_datafile参数解决

该参数可用于给泵出文件中的源数据库文件重新指定一个新的路径和名称,主要用在平台间的数据迁移. 用法: remap_datafile=source_file:target_file 在windows平台上的使用: impdp dbuser/dbuser full=y dumpfile=full.dmp logfile=full.log remap_datafile="F:\DB\ORADB\ORADATA\ORADB\MYDB1.ORA":"F:\app\guester\ora

winserver2003环境发布ASP程序报错(HTTP 错误 403.1 - 禁止访问:执行访问被拒绝)

问题: 在Windows Server 2003 + IIS6.0上布署.Net 2.0网站时发生如下错误: 该页无法显示 您试图从目录中执行 CGI.ISAPI 或其他可执行程序,但该目录不允许执行程序. -------------------------------------------------------------------------------- 请尝试以下操作: 如果您认为该目录应该允许执行访问权限,请与网站管理员联系. HTTP 错误 403.1 - 禁止访问:执行访问被

解决Azure Stack App Service部署报错一例

解决Azure Stack App Service部署报错一例 Azure Stack是微软新一代的云基础架构,是Windows Server 2016.Azure Pack和Azure Service Fabric的组合,能够将Azure的IaaS和PaaS功能带到客户自己的数据中心里,微软希望所有用户都能体验到该项服务,近期Azure Stack发布了GA版本,小弟有幸对其进行部署测,和之前版本相比GA版本提供了GUI的部署界面,同时在稳定性上也大大有所提升!但小弟在部署App Servic

允许asp.net MVC报 错说明: 访问服务此请求所需的资源时出错。服务器可能未配置为访问所请求的 URL。错误消息 401.2。: 未经授权

运行mvc3程序报以下错误详细报错如下: "/"应用程序中的服务器错误. 访问被拒绝. 说明: 访问服务此请求所需的资源时出错.服务器可能未配置为访问所请求的 URL. 错误消息 401.2.: 未经授权: 服务器配置导致登录失败.请验证您是否有权基于您提供的凭据和 Web 服务器上启用的身份验证方法查看此目录或页.请与 Web 服务器的管理员联系以获得其他帮助. 版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.3