我想定义捕获所有请求的所有路由的捕获。
我尝试了以下路线定义:
routes.MapRoute("CatchAll", "{*stuff}", new { controller = "Proxy", action = "Proxify", stuff = UrlParameter.Optional });
只要它们不包含像in这样的文件名,它就会捕获所有请求
http://localhost/vault/11/Test.docx
如何定义一个路径,将主机名后面的每个字符串作为字符串传递给我的控制器?
解决方案
我通过在web.config文件中插入以下内容找到了解决问题的方法:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
</system.webServer>
答案 0 :(得分:0)
我相信默认情况下,ASP.NET包含许多用于处理不同文件类型的模块。这意味着如果请求的资源与这些已知文件类型之一匹配(例如*.asp
或*.aspx
),则相应的模块将处理该请求而不是MVC。