我正在构建一个引用程序集的网站,该程序集包含几个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?顺便说一下,我正在以经典模式运行网站。
答案 0 :(得分:2)
我也偶然发现了这一点。 我的错误是我在system.web下注册了处理程序而不是system.webserver。