【发布时间】:2011-04-02 19:11:18
【问题描述】:
我有一个使用路由的 ASP.NET 4 WebForms 应用程序。我想为不存在的路线捕获 404:
RouteTable.Routes.MapPageRoute("404", "{*url}", "~/error");
问题是,这也会导致像ImageHandler.ashx 和Resource.axd 这样的页面映射到/error。
所以我添加了这个:
RouteTable.Routes.Ignore("{resource}.axd");
RouteTable.Routes.Ignore("{handler}.ashx");
但这只会忽略根目录中的 Resource.axd,而不是例如 /scripts/Resource.axd。
我怎样才能做到这一点?或者我应该为捕获所有 PageRoute 设置什么约束,以便它只会捕获目录?
【问题讨论】:
标签: routing webforms http-status-code-404 asp.net-4.0