Разница между WCF, Web API, WCF REST и веб-службой?
в чем разница между WCF и Web API и WCF REST и веб-службой? Действительно ли WCF настолько сложен, что следует использовать webapi? Может ли WebApi делать ВСЮ работу и не пользоваться преимуществами других?
2 ответов
.Net framework имеет ряд технологий, которые позволяют создавать службы HTTP, такие как веб-служба, WCF и теперь веб-API. Есть много статей через Интернет, которые могут описать, кому Вы должны использовать.
Веб-Сервиса
- Он основан на SOAP и возвращает данные в форме XML.
- Он поддерживает только протокол HTTP.
- он не является открытым исходным кодом, но может использоваться любым клиентом, который понимает xml.
- Это может размещаться только на IIS.
WCF
- Он также основан на SOAP и возвращает данные в форме XML.
- это эволюция веб-службы (ASMX) и поддержка различных протоколов, таких как TCP, HTTP, HTTPS, именованные каналы, MSMQ.
- основная проблема с WCF-это его утомительная и обширная конфигурация.
- он не является открытым исходным кодом, но может использоваться любым клиентом, который понимает xml.
- его можно разместить с помощью приложения или IIS или с помощью службы окон.
WCF Rest
- чтобы использовать WCF в качестве службы WCF Rest, необходимо включить webHttpBindings.
- он поддерживает HTTP GET и POST глаголы [WebGet] и [WebInvoke] атрибуты соответственно.
- чтобы включить другие http-глаголы, вам нужно выполнить некоторую конфигурацию в IIS, чтобы принять запрос этого конкретного глагола .svc файлы
- передача данных через параметры использование WebGet требует настройки. UriTemplate должен быть указан.
- он поддерживает формат данных XML, JSON и ATOM.
Web API
- Это новый фреймворк для построения HTTP-сервисов простым и понятным способом.
- Web API с открытым исходным кодом является идеальной платформой для создания служб REST-ful над .NET Framework.
- В отличие от службы WCF Rest, он использует полную функцию HTTP (например, URIs, request/response заголовки, кэширование, управление версиями, различные форматы контента)
- Он также поддерживает функции MVC, такие как маршрутизация, контроллеры, результаты действий, фильтр, связующие модели, контейнер IOC или инъекции зависимостей, модульное тестирование, что делает его более простым и надежным.
- он может быть размещен в приложении или в IIS.
- это легкая архитектура и хорошо подходит для устройств с ограниченной пропускной способностью, таких как смартфоны.
- ответы отформатированы в Интернете MediaTypeFormatter API в JSON, XML или любой формат, который вы хотите добавить в качестве MediaTypeFormatter.
кому выбирать между WCF или WEB API
- выберите WCF, если вы хотите создать службу, которая должна поддерживать специальные сценарии, такие как односторонние сообщения, очереди сообщений, дуплексная связь и т. д.
- выберите WCF, если вы хотите создать службу, которая может использовать быстрые транспортные каналы, когда они доступны, например TCP, с именем Каналы или, возможно, даже UDP (в WCF 4.5), и вы также хотите поддерживать HTTP, когда все другие транспортные каналы недоступны.
- выберите веб-API, если вы хотите создать ресурсоориентированные службы через HTTP, которые могут использовать все функции HTTP (например, URIs, заголовки запросов/ответов, кэширование, управление версиями, различные форматы контента).
- выберите Web API, если вы хотите предоставить свой сервис широкому кругу клиентов, включая браузеры, мобильные телефоны, iphone и таблетки.
ссылка:http://www.dotnettricks.com
Автор: Шайлендра Чаухан
.Net framework имеет ряд технологий, которые позволяют создавать службы HTTP, такие как веб-служба, WCF и теперь веб-API. Есть много статей через Интернет, которые могут описать, кому Вы должны использовать. Теперь у вас есть много вариантов для создания HTTP-служб на .NET framework. здесь вы можете прочитать больше: