Альтернативы Open Source для WCF

Не могли бы вы рассказать мне об альтернативах с открытым исходным кодом для WCF? Я новичок и только начал использовать WCF. Я хотел знать об альтернативах, которые также являются open source. Кроме того, что делает их лучшими вариантами/не очень хорошими по сравнению с WCF.

Спасибо, Thothathri

Ответ 1

Есть проекты с открытым исходным кодом для служб REST - например Open Rasta Возможно, вы также найдете некоторые проекты с открытым исходным кодом для базовых SOAP-сервисов, но я сомневаюсь, что существует проект с открытым исходным кодом, реализующий все связанные с WS- * вещи, реализованные в WCF. Протоколы WS- * в основном реализуются только в API от крупных компаний - MS, IBM, Oracle, SAP и т.д. Причины:

  • Сложность - внедрение протоколов WS- * означает погружение глубоко в тонны спецификаций. Вы также должны применять их очень осторожно, чтобы быть действительно совместимыми и не слишком снижать производительность.
  • Поддержка - протоколы WS- * обычно используются в решениях B2B, где предприятия требуют определенных гарантий и поддержки.
  • Расходы - разработка такого API занимает очень много времени.

Даже WCF реализует только подмножество WS- * протоколов. Но WCF очень расширяема, поэтому каждый может попытаться реализовать некоторые из этих отсутствующих протоколов сам.

WCF не указывает только на службы REST и SOAP. Это также замена служб .NET Remoting и Enterprise с более старых версий .NET. Вы не найдете .NET API, который также будет предлагать все эти функции.

Ответ 2

Я также настоятельно рекомендую проверить ServiceStack, это была конфигурация веб-сервиса без конфигурации, которую я начал, позволяет вам легко и быстро развивать веб-службы с очень небольшим трением.

Он обеспечивает выразительную среду без трения, так как вы можете создавать веб-сервисы, используя собственный POCO С# DTO, который также поощряет разработку веб-сервисов лучших практик, так как вы легко можете создавать больше пакетных, крупнозернистые API.

Он стремится быть более продуктивным, тесно связав С# с HTTP, где все возвращаемые объекты С# автоматически преобразуются в запрошенный формат с помощью (XML, JSON, JSV, CSV, SOAP 1.1/1.2, HTML), поддерживаемых вне -Box. Исключения С# также автоматически становятся сериализованными, потому что вы делаете утомительные вещи без усилий.

Одно из основных преимуществ не должно быть связано с внешними форматами и конечными точками (которые ухаживают за рамками), и вы остаетесь с разработкой своей логики в чистой комнате, с автоматической проводкой и высокой степенью проверки, DDD-подобный класс IService.

Ответ 3

Вы можете использовать RestCake, если вы пытаетесь создать службы RESTful.

Ответ 4

Mono проект прилагает постоянные усилия для WCF, размещенного в Github. Как вы знаете, System.ServiceModel является основным движком для WCF. Вы можете найти Mono-реализации этих пространств имен под /mono/mcs/class/System.ServiceModel.*. Вы можете найти связанные с проектом обновления и соответствующую информацию о вкладе здесь