我有问题尝试映射HttpHandler在web.config中。
这是相关的配置位:
<httpHandlers> <add verb="*" path="*.hndlr" type="MyAssembly.MyHandler,MyAssembly" validate="false" /> </httpHandlers>
当我导航到http://localhost/myApp/whatever.hndlr我得到服务器错误404(找不到)。
这是我第一次挂上HttpHandler,所以我可能会失去的东西 – 任何帮助赞赏!
更新:
我设法得到它工作使用两个答案到目前为止 – 谁能够exaplin为什么它的工作得到标记的答案!
这是我的配置(不会工作,如果没有两个 – 我在运行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>