我自己路由所有请求。我写的模式如下:
RouteTable.Routes.Add(new Route("{*all}", new URLRouter()));
但是当www.example.com/styles/site.css的请求到达时,它不会被URLRouter处理程序捕获。
谢谢。
答案 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”。