我有一個自定義的HTTP處理程序,正確實現IHttpHandler。以下是我在webConfig中配置的內容。如果我理解正確,此塊應該以.test作爲擴展名捕獲任何請求。HTTP處理程序未被調用
<handlers>
<add name="SampleHandler" verb="*" path="*.test"
type="TestApp.App_Start.CustomHandler, TestApp" />
</handlers>
但是,這個處理程序唯一一次被調用的時候,我的路徑深度爲三,適用於請求的URL。所有其他請求將404
例如處理程序正常工作時的路徑是:
localhost:XXX\some\fake\path\file.test
但不適合:
localhost:XXX\some\file.test
我使用ASP.NET MVC 5,和可疑它與路由有關。我也使用VS2013中提供的示例項目,除了添加到項目中的處理程序外,我還沒有做其他任何事情。
更新:
我已經確定的默認路由的干擾。
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
即使配置了此路線,是否還有辦法讓它工作?
我不認爲這就是它。本教程顯示了它的工作原理http://www.hanselman.com/blog/BackToBasicsDynamicImageGenerationASPNETControllersRoutingIHttpHandlersAndRunAllManagedModulesForAllRequests.aspx – cgatian
請查看以下MSDN更新文檔:http://msdn.microsoft.com/en-us/library/vstudio/46c5ddfy(v=vs .100).aspx – EduardoFernandes
是的,它說II6。我正在運行II8。爲了補充,我也試過這個,IIS抱怨有無效的設置。 – cgatian