2016-11-21 182 views
1

在我添加下面的代碼來處理的處理HTTP 404錯誤的ASP.NET Web API的RoutingConfig.cs「System.Web.Routing.RouteCollection」不包含定義「MapHttpRoute」

public class RouteConfig 
{ 
    public static void RegisterRoutes(RouteCollection routes) 
    { 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

     routes.MapRoute(
      name: "Default", 
      url: "{controller}/{action}/{id}", 
      defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
     ); 

     routes.MapRoute(
      name: "Error404", 
      routeTemplate: "{*url}", 
      defaults: new { controller = "Error", action = "Handle404" } 
     ); 
    } 
} 

它將引發下面的錯誤等

「System.Web.Routing.RouteCollection」不包含 「MapHttpRoute」的定義和沒有擴展方法「MapHttpRoute」接受類型爲「一個 第一個參數的System.Web .Routing.RouteCollection'可能是 (是否缺少using指令或程序集引用?)

我試圖屁股命名空間System.Web.Routing.RouteCollection,但它不工作

回答

1

使用以下

//Catch-All InValid (NotFound) Routes 
routes.MapRoute(
    name: "Error404", 
    url: "{*url}", 
    defaults: new { controller = "Error", action = "Handle404" } 
); 

確保這是被映射爲這最後的路線是一個包羅萬象的路線。

+0

它引發錯誤,如'MapRoute的最佳重載'沒有名爲'routeTemplate'的參數\t' – trx

+0

使用'url:'not'routeTemplate'。 – Nkosi

+0

我用RouteConfig.cs中的代碼編輯了我的問題 – trx

相關問題