Поделиться через


ВЕБ-API WCF и ASP.NET

WCF — это единая модель программирования Майкрософт для создания приложений, ориентированных на обслуживание. Это позволяет разработчикам создавать безопасные, надежные, трансактированные решения, которые интегрируются между платформами и взаимодействуют с существующими инвестициями. ASP.NET веб-API — это платформа, которая упрощает создание HTTP-служб, которые достигают широкого спектра клиентов, включая браузеры и мобильные устройства. ASP.NET веб-API является идеальной платформой для создания приложений RESTful на платформе .NET Framework. В этом разделе приведены некоторые рекомендации, которые помогут вам решить, какие технологии будут наилучшим образом соответствовать вашим потребностям.

Выбор используемой технологии

В следующей таблице описываются основные функции каждой технологии.

WCF (Windows Communication Foundation) ASP.NET веб-API
Позволяет создавать службы, поддерживающие несколько транспортных протоколов (HTTP, TCP, UDP и пользовательские транспорты) и разрешающие переключение между ними. Только HTTP. Модель программирования первого класса для HTTP. Более подходит для доступа из различных браузеров, мобильных устройств и т. д., что обеспечивает широкий охват.
Позволяет создавать службы, поддерживающие несколько кодировок (Text, MTOM и Binary) одного типа сообщения и позволяют переключаться между ними. Позволяет создавать веб-API, поддерживающие широкий спектр типов мультимедиа, включая XML, JSON и т. д.
Поддерживает создание служб с помощью стандартов WS-* , таких как Надежный обмен сообщениями, транзакции, безопасность сообщений. Использует базовый протокол и форматы, такие как HTTP, WebSockets, SSL, JSON и XML. Нет поддержки протоколов более высокого уровня, таких как Надежный обмен сообщениями или транзакции.
Поддерживает шаблоны обмена сообщениями "Запрос-ответ", "Один путь" и "Дуплексный обмен сообщениями". HTTP — это запрос или ответ, но с помощью интеграции SignalR и WebSockets можно поддерживать дополнительные шаблоны.
Службы WCF SOAP можно описать в WSDL, позволяя автоматизированным средствам создавать клиентские прокси-серверы даже для служб со сложными схемами. Существует множество способов описания веб-API, начиная от страницы справки html, созданной автоматически, описывающей фрагменты кода до структурированных метаданных для интегрированных API OData.
Поставляется вместе с платформой .NET Framework. Поставляется вместе с .NET Framework, но с открытым исходным кодом и также доступен как независимая загрузка.

Используйте WCF для создания надежных, безопасных веб-служб, доступных через различные транспорты. Используйте веб-API ASP.NET для создания служб на основе HTTP, доступных различным клиентам. Используйте ASP.NET веб-API, если вы создаете и разрабатываете новые службы в стиле REST. Хотя WCF обеспечивает некоторую поддержку написания служб в стиле REST, поддержка REST в веб-API ASP.NET является более полной, и все будущие улучшения функций REST будут сделаны в ASP.NET веб-API. Если у вас есть существующая служба WCF и вы хотите открыть доступ к дополнительным конечным точкам REST, используйте WCF и .WebHttpBinding

См. также