2010-01-22 64 views
1

我正在使用System.Web.Routing.UrlRoutingModule。如何在使用System.Web.Routing.UrlRoutingModule時阻止對文件的訪問?

有了,我正在寫:

routes.Add(new Route(@"cart/add", new RouteHandler("~/Order/CartAdd.ashx"))); 
routes.Add(new Route(@"cart/delete", new RouteHandler("~/Order/CartDelete.ashx"))); 
... 

而且我也有叫一個路線:

routes.Add(new Route(@"{*url}", new RouteHandler("~/Error/PageNotFound.ashx"))); 

但是,如果我去directy到/Order/CartAdd.ashx我不會進入路由。它直接到那個處理程序。如果我去/訂單/我得到一個403.14錯誤。

我該如何用路由捕獲這些URL?

回答

1

在你的路線註冊碼,你可以寫這樣的事情..

public static void RegisterRoutes(RouteCollection routes) 
    { 
     routes.RouteExistingFiles = true; 
     routes.IgnoreRoute("default.aspx"); 
     [...] 

這應強制通過你的路由規則的文件請求。

+0

工作正常,但IgnoreRoute不起作用。但是這樣做: routes.Add(new Route(「default.aspx」,new StopRoutingHandler())); – Allrameest 2010-01-22 12:20:32