Чтобы ответить на этот вопрос, вам нужно иметь небольшую историю веб-API ASP.NET.
Первоначально веб-API ASP.NET это был WCF Web API , проектв Codeplex расширение WCF для упрощения поддержки службы в стиле REST.WCF был полностью построен на SOAP в качестве основного типа обмена сообщениями, поэтому использование HTTP в качестве чего-либо другого, кроме протокола транспортного уровня, требовало другого подхода, с другим набором атрибутов и, как правило, плохо сочеталось с остальной частью инфраструктуры.
Веб-API WCF расширял инфраструктуру WCF всеми способами, необходимыми для поддержки HTTP как механизма транспорта уровня приложения.Он внедрял маршрутизацию запросов на основе URI ресурса, динамическое форматирование в соответствии с заголовками Accept
и другие вещи, которые ранее отсутствовали в WCF.
Однако во время разработки стало ясно, что эти технологии уже существуют.в .NET, в стеке MVC.Таким образом, было принято решение, что вместо двух конкурирующих наборов технологий они передают работу команде ASP.NET MVC, и на свет появился ASP.NET Web API .
Если вы выполняете службу в стиле REST, веб-API ASP.NET гораздо лучше подходит для ваших нужд, чем среда WCF.Команда WCF не будет продвигать свою поддержку архитектуры в стиле REST;эти функции инфраструктуры WCF эффективно включены в веб-API , где он находит более естественное соответствие .
Следует ли переписать свои службы для использования нового веб-API?Ну, REST-функции WCF не собираются внезапно перестать работать.Вы должны рассмотреть этот шаг только в том случае, если он предоставляет вам некоторые функции, к которым вы стремитесь (например, динамический выбор формата контента), или если вы хотите постоянно разрабатывать свой API (поскольку Web API значительно проще в использовании, чем WCF).