我有問題試圖在web.config中映射HttpHandler。問題映射HttpHandler - > HTTP錯誤404沒有找到
這是相關的配置位:
<httpHandlers>
<add verb="*" path="*.hndlr" type="MyAssembly.MyHandler, MyAssembly" validate="false" />
</httpHandlers>
當我瀏覽到http://localhost/myApp/whatever.hndlr
我收到了服務器錯誤404(未找到)。
這是我第一次掛鉤HttpHandler,所以我可能會失去一些東西 - 任何幫助讚賞!
UPDATE:
我設法得到它的工作使用這兩種到目前爲止的答案 - 是誰能夠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>
對於您的更新,如果您使用的IIS6安裝在System.webserver部分,則將被忽略,因爲這僅用於IIS7集成管道模式。唯一的原因是擁有一個適用於IIS7流水線和calssic模式和IIS6的web.config。 – 2010-05-20 16:22:03
對不起,這是IIS7 - 但這是否改變了事情?如果我刪除了system.webserver部分中的那一部分,它不起作用(404未找到),並且出於兼容性原因我們處於經典模式。 – JohnIdol 2010-05-20 17:07:33
,如果我在system.web中註釋掉一個,我會得到「無法執行URL」 - 它只適用於兩個有趣的原因! :) – JohnIdol 2010-05-20 17:18:22