Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
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