Разница между "MapHttpRoute" и "MapRoute"?



почему через "MapRoute" за "по умолчанию" маршрутизации, при использовании "MapHttpRoute" за "DefaultApi" маршрутизация?



routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}"
);

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

2 ответов:

Если вы используете веб-API поверх ASP.NET в конечном итоге они оба будут работать на одной и той же основе ASP.NET таблица маршрутов-однако, как правильно указано, с точки зрения пользователя вы вызываете два разных метода для регистрации маршрута.

маршрутизация была разработана так, чтобы при размещении за пределами ASP.NET, веб-API не придется полагаться на систему.Сеть.

имейте в виду, что веб-API не сидит поверх MVC, веб-форм или, если на то пошло ASP.NET вообще. Оно может размещаться в веб-контексте (ASP.NET) но также может быть размещен самостоятельно (консоль, WPF и т. д.) или даже размещен в памяти (без использования порта, полезного для т. е. легкого сквозного тестирования).

MapRoute предназначен для "нормальных" контроллеров ASP.NET в MVC, в то время как MapHttpRoute предназначен для контроллеров Web API.

Comments

    Ничего не найдено.