我的自定义HttpHandler有问题。 1.所以在我的解决方案中,我添加了一个项目类库--Handler(所以命名空间是Handler)
我添加了MyHandler.css类,该类在此类库中实现了IHttphandler接口。
下一步
MySite项目的Web配置我添加了这个
<system.web>
<httpHandlers>
<add verb="*" path="*.ascx" type="Handler.MyHandler, MySite "/>
</httpHandlers>
但是,当我尝试查看在我的网站中访问.ascx文件时会发生什么 我收到了错误
HTTP Error 404.7 - Not Found
The request filtering module is configured to deny the file extension.
为什么我的httphandler没有被调用 谢谢你inadvance
答案 0 :(得分:1)
这是因为IIS Request Filtering module配置为拒绝.ascx文件的请求,并且过滤模块在IIS管道中比响应处理程序更早地响应请求。请阅读this blog entry以获取详细的大纲。
您可以使用IIS管理器工具在IIS中“正确”配置“请求过滤”,或者如果您通过编辑applicationhost.config
文件来使用IIS Express,您可以在%userprofile%\Documents\IISExpress\config
找到该文件你会找到字符串:
<add fileExtension=".ascx" allowed="false" />
如果您不想更改请求过滤配置,可以考虑将Handler重新实现为模块,这意味着继承IHttpModule
而不是IHttpHandler
并执行更多操作腿自己工作。