2013-10-29 29 views
7

我想定義一個捕獲所有捕獲所有請求的所有路由。如何在ASP.NET MVC 4中定義catch(絕對)所有路由

我已經試過以下路由定義:

routes.MapRoute("CatchAll", "{*stuff}", new { controller = "Proxy", action = "Proxify", stuff = UrlParameter.Optional }); 

它只要它們不包含像 http://localhost/vault/11/Test.docx

我如何定義治療everyting路徑文件名捕獲所有的請求主機名作爲字符串後傳遞給我的控制器?

解決方案

我已經找到了解決問題的辦法,插入以下到我的web.config文件:

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true" /> 
</system.webServer> 

回答

0

我相信,在默認情況下,ASP.NET包括許多模塊用於處理不同的文件類型。這意味着如果請求的資源與其中一種已知文件類型匹配(例如,*.asp*.aspx),則相應的模塊將處理該請求而不是MVC。