如何使用我自己的HttpHandler抢占IIS StaticFileHandler

时间:2009-04-30 11:51:14

标签: asp.net iis-7 httphandler

我正在构建一个引用程序集的网站,该程序集包含几个js脚本作为嵌入式资源,一些控件使用这些脚本,一个'HttpResourcesHandler'知道如何在被要求时检索这些嵌入式脚本。

在web.config中,我在

部分有一个条目
<add verb="*" 
     path="/embedded/controlscripts/*" 
     validate="false" 
     type="CWeb.Controls.Web.HttpResourcesHandler, CWeb.Controls.EditBox" />

当使用Visual Studio Web开发服务器进行调试时,此控件对网站工作绝对正常,但如果我将网站切换到IIS下运行(v7 - 我正在运行Vista,那么调试时似乎没有问题站点使用IIS 5或6),控件无法再访问脚本。我收到一个HTTP 404.0错误屏幕,指示StaticFileHandler找不到该文件。我知道 - 它是嵌入式的。

因此,StaticFileHandler似乎在我自己之前获取脚本请求并返回404.如何告诉IIS使用我自己的资源处理程序来嵌入/ controlscripts目录而不是staticfilehandler?顺便说一下,我正在以经典模式运行网站。

1 个答案:

答案 0 :(得分:2)

我也偶然发现了这一点。 我的错误是我在system.web下注册了处理程序而不是system.webserver。

Check this post for details