IIS 7.5无法打开处理程序映射?

17
我需要更新 IIS 7.5 上的处理程序映射以允许不带扩展名的 URL 路由到一个应用程序。该应用程序最初是用 ASP.NET 2.0 编写的,但后来升级到了 ASP.NET 3.5。我不知道这是否相关,但我之前更新过其他 .NET 3.5 应用程序的处理程序映射时没有问题。还应注意的是,这在 IIS 6.0 上可以正常工作。
当我在 IIS 7.5 中点击 Handler Mappings 链接时,出现以下错误消息(请注意,实际上没有错误消息,这会很有帮助):
Handler Mappings
执行此操作时发生错误。
详细信息:
文件名:\?\D:\path\to\web.config
错误:
OK
有人遇到过这种情况吗?如果您需要更多信息,请告诉我,我会提供。谢谢。
3个回答

32

我也遇到了同样的问题,原来是项目使用了IIS URL重写模块(默认未安装)。 安装后,网站第一次就可用。

检查您的web.config文件(特别是如果它无法在IIS中打开),看看是否有任何非默认的IIS模块。


2
我们也遇到了同样的问题,通过安装IIS URL Rewrite模块解决了。感谢分享。 - Gabriel
2
谢谢,这也解决了我的问题。这是IIS Rewrite模块的网址:http://www.iis.net/learn/extensions/url-rewrite-module/using-the-url-rewrite-module - sanjeev40084
我已经试了好几天来解决这个问题。:) 感谢您提供正确的答案。 - JC Lizard
1
这是一个非常晦涩的错误,在浏览器中我看到了“HTTP 错误 500.19 - 内部服务器错误”,所有的线索都指向了文件系统权限的研究。这也解决了我的问题。谢谢! - ScottCate

5

IIS 7.0(及更高版本)读取Web.config文件中处理程序映射的方式与IIS 6不同。这取决于应用程序池的“托管管道模式”。如果将其设置为集成模式,则期望在其中包含处理程序映射

/system.webServer/handlers

如果您使用传统的管道模式,您的处理程序应该位于
/system.web/httpHandlers

您可以在这里找到更多相关信息。最好的方法是检查您正在使用的管道模式,然后手动检查配置文件(所有IIS管理控制台所做的就是编辑您的Web应用程序的web.config文件,因此您可以查看幕后发生了什么)。


2
如果您正在使用IIS7.0 / IIS7.5:-

通过以下方式转到IIS管理器:
(开始->运行->键入 'Inetmgr' 或右键单击我的电脑,选择“管理”选项,展开“服务和应用程序”,选择“Internet信息管理器”)

右键单击应用程序的虚拟目录,选择“转换为应用程序”选项。
这将解决问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接