url路由catch-all无法正常工作

时间:2011-01-13 12:42:47

标签: c# asp.net azure url-routing

我自己路由所有请求。我写的模式如下:

RouteTable.Routes.Add(new Route("{*all}", new URLRouter()));

但是当www.example.com/styles/site.css的请求到达时,它不会被URLRouter处理程序捕获。

谢谢。

2 个答案:

答案 0 :(得分:1)

安装了哪些IIS版本?看起来静态文件请求甚至无法访问ASP.NET ISAPI过滤器。这是IIS6和IIS7经典模式应用程序池中的默认行为。

更新:在Web.config(模块部分)中设置runAllManagedModulesForAllRequests="true"

答案 1 :(得分:0)

我已经解决了这个问题。问题似乎是所有请求都传递给我的URLRouter处理程序但是静态内容的请求(例如styles / site.css)不是由“{* all}”中的url-parameter-variable“all”收集的,而且所有请求都是包含null,虽然奇怪的是,这个请求包含在requestContext.HttpContext.Request.Url中。所以,我使用的是requestContext.HttpContext.Request.Url而不是url-parameter-variable“all”。