7

我想定义一个捕获所有请求的所有路由。

我尝试了以下路线定义:

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

只要它们不包含文件名,它就会捕获所有请求 http://localhost/vault/11/Test.docx

如何定义一个路由,将主机名之后的所有内容都视为字符串并将其传递给我的控制器?

解决方案

通过将以下内容插入到我的 web.config 文件中,我找到了解决问题的方法:

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

1 回答 1

0

我相信默认情况下,ASP.NET 包含许多用于处理不同文件类型的模块。这意味着如果请求的资源与那些已知文件类型之一(例如*.asp*.aspx)匹配,则相应的模块将处理该请求而不是 MVC 的。

于 2014-07-16T05:08:03.733 回答