2016-11-21 8 views
1

В RoutingConfig.cs я добавил следующий код для обработки Handling HTTP 404 Ошибка в ASP.NET Web API«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 'может быть найдено (вы пропали без вести с помощью директивы или ссылка на сборку?)

Я пытался задница пространство имен 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

use 'url:' not 'routeTemplate'. – Nkosi

+0

Я отредактировал мой вопрос с кодом из RouteConfig.cs – trx

0

потому the following URI does not match, because it lacks the "api" segment.

https://www.asp.net/web-api/overview/web-api-routing-and-actions/routing-in-aspnet-web-api

RouteTemplate сек настроены для маршрутизации входящих запросов.

+0

Я попытался выполнить статью https://weblogs.asp.net/imranbaloch/handling-http-404-error-in-asp-net-web-api – trx

+0

В статье много настраиваемого кода. Вы пробовали их все? –

+0

yes Я все-таки добавил все – trx

Смежные вопросы