2016-11-21 179 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

相关问题