Меня немного смущают эти две технологии, т. е. WCF REST и веб-API asp.net. Есть ли разница между этими двумя? Когда следует использовать один над другим?
Когда использовать WCF REST и WEB API
Ответы (3)
Я немного смущен этими двумя технологиями, т.е. WCF REST и asp.net WEB API. Есть ли разница между этими двумя?
Да. Оба являются средством предоставления услуг в стиле REST, однако конкурирующие технологии не созданы равными.
WCF REST, естественно, происходит из мира WCF, который изначально был SOAP. WCF REST меняет это, предоставляя рудиментарную полезную нагрузку JSON вместо SOAP. Однако в WCF REST отсутствуют некоторые функции, и Microsoft заявила, что новые функции REST появятся только в веб-API ASP.NET.
В отличие от WCF REST, веб-API ASP.NET изначально был разработан для служб JSON в стиле REST.
MSDN:
Хотя WCF обеспечивает некоторую поддержку написания служб в стиле REST, поддержка REST в веб-API ASP.NET является более полной, и все будущие улучшения функций REST будут реализованы в веб-API ASP.NET. . Если у вас есть служба WCF и вы хотите предоставить дополнительные конечные точки REST, используйте WCF и привязку WebHttpBinding. – Подробнее
OP:
Когда следует использовать один над другим?
Если вы намерены создать службы SOAP или у вас есть существующая служба WCF, используйте WCF с конечной точкой кодирования JSON.
Если вы намерены создавать службы REST, особенно в новом приложении, используйте веб-API ASP.NET.
Это зависит от того, что вы хотите сделать для выбора одного из них
В основном с помощью WCF вы можете создавать приложения на основе служб, но с помощью ASP.NET Web Api вы можете создавать службы Restful на основе Http или Https.
but with ASP.NET Web Api you can create Restful services based on Http or Https
можно применить к WCF REST
- person MickyD; 18.03.2016
REST и WCF — это понятия из разных миров :) REST — это спецификация (другими словами, набор соглашений) для разработки веб-сервисов. REST не зависит от какой-то специальной технологии/платформы/фреймворка или языка. WCF — это подход Microsoft к веб-сервисам, изначально предопределенный для разработки SOAP-сервисов, основанных на RPC-архитектуре. RPC (удаленный вызов процедур) — это подход к разработке веб-сервисов в виде набора методов с параметрами, выполняющих определенную работу. REST больше ориентирован на HTTP, и основная концепция заключается в том, чтобы работать с некоторыми сущностями (передача репрезентативного состояния) и выполнять действия с этими сущностями, а не просто вызывать какие-то методы. Можно создать какой-нибудь REST-сервис с использованием технологии WCF, но, на мой взгляд, WCF не подходит для этой цели.