我在尝试在web.config中映射HttpHandler时遇到问题。
这是相关的配置位:
<httpHandlers>
<add verb="*" path="*.hndlr" type="MyAssembly.MyHandler, MyAssembly" validate="false" />
</httpHandlers>
当我导航到
http://localhost/myApp/whatever.hndlr
时,出现服务器错误404(未找到)。这是我第一次连接HttpHandler,所以我可能会缺少一些东西-感谢您提供任何帮助!
更新:
到目前为止,我都设法通过两个答案使它正常工作-谁能解释为什么它起作用,所以答案会被标记!
这是我的配置(如果没有两者都无法使用-我在经典模式中运行 IIS7)
System.web:
<httpHandlers>
<add verb="*" path="*MyHandler.hndlr" type="MyAssembly.MyAssemblyHandler, MyAssembly" validate="false"/>
</httpHandlers>
System.webserver:
<handlers>
<add name="MyHandler" verb="*" path="*MyHandler.hndlr" type="MyAssembly.MyAssemblyHandler, MyAssembly" validate="false" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="Script"/>
</handlers>
最佳答案
如果正在使用IIS7,那么应用程序池是否以经典模式或管道模式运行?如果在管道模式下是IIS7,则处理程序引用需要进入以下部分
<system.webServer>
<handlers>
</handlers>
<system.webServer>
而不是在下一节中。
<system.web>
<httpHandlers>
</httpHandlers>
</system.web>