在我的 IIS7 配置中,似乎存在几个以下形式的处理程序:
- 名称:AboMapperCustom-[数字]
- 小路: *
- 前提条件:[空]
- 脚本处理器:C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll
这是干什么用的?查看 MSDN 建议 ABO 可能是管理基础对象,但是没有明显的迹象表明为什么需要这种处理程序。
我认为由于空白的前提条件,它导致计算机上的 aspnet 4.0 应用程序出现一些问题。我正在研究如何“修复”该问题,但我想知道创建该处理程序的原因以及它的目的是什么。
谢谢!
答案1
AboCustomMapper 处理程序用于为通过 IIS6 兼容层 (ADSI) 在 IIS7 上创建映射的应用程序提供旧版支持,而不是使用新的托管 API。即代码创建 IIS6 元数据库脚本映射IIS6 兼容层将其转换为处理程序映射对象的对象。之所以这样命名,是AboCustomMapper-XXXXXX
因为 IIS6 中没有name
脚本映射的等效属性,这是一个自动生成的名称。
IIS7 上的 ADSI 无法识别处理程序映射(类似于 IIS6 脚本映射)属性,例如preConditions
,允许多个版本的 ASP.NET 处理程序映射定义共存于同一站点或应用程序中。ADSI 兼容层将创建配置AboMapperCustom
欠佳且无法识别这些新功能的对象。
在您的情况下,看起来某些东西(代码/安装程序?)已经创建了相当于 IIS6 通配符脚本映射的东西来将所有请求映射到 ASP.NET,并且它通过 IIS6 兼容层完成了此操作。
在 IIS7 上,有了 IIS7 的集成管道模式,这种事情实际上就不再需要了。您可以编辑处理程序映射,并将路径设置为*.disabled
将其推开之类的内容,然后看看这会带来什么副作用或改进。