Когда использовать услуги передачи данных WCF и если не?

Для которых приложений или сценариев разработки использование Услуг передачи данных WCF имеет смысл и когда другие technolgies являются лучшим выбором (например, WCF RIA Services, Платформа Объекта ADO, классический ADO.NET, простые сервисы или безотносительно)?

8
задан Kottan 23 June 2010 в 14:39
поделиться

1 ответ

WCF Data Services - довольно простой и быстрый способ разместить вашу модель данных - коллекции и сущности - в Интернете. Вы можете легко просматривать свои коллекции, просматривать объекты и т. Д. С помощью стандартных вызовов HTTP / REST.

Пока у вас есть в основном это - отображение и отображение сущностей и коллекций сущностей - это работает очень хорошо. Я действительно не знаю, какие дополнительные бонусы несут службы WCF RIA Services - я еще не исследовал это слишком подробно.

WCF Data Services основаны на модельном представлении ваших данных - именно здесь в игру вступают Linq-to-SQL или Entity Framework, позволяющие создавать эту модель на основе вашей физической базы данных.

Однако, когда вам нужно использовать что-то вроде сервисов, ориентированных на метод - например, «Вставить клиента», «Рассчитать общее количество заказов для клиента» и т. Д., Тогда служба WCF на основе SOAP будет более подходящей. Служба WCF на основе SOAP определяет контракт службы (набор методов в вашей службе) и позволяет вам вызывать эти методы в вашем объекте службы.

SOAP отлично подходит для ведения бизнеса, ориентированного на транзакции - он самоописывается, например ваш клиент может обнаруживать и опрашивать службу SOAP (область, в которой сильно не хватает REST - нет "WSDL" или чего-то сопоставимого для служб REST).

И если вы используете SOAP, я бы также рекомендовал использовать подход на основе модели для ваших данных - создайте модель своей базы данных и предоставьте методы для этих сущностей внешнему миру - опять же, используя Linq-to-SQL. , Entity Framework, NHibernate или другой инструмент моделирования / ORM. Я бы не советовал использовать "классический" или "голый" ADO.NET для большей части вашей работы - это просто слишком много ворчливой работы и глупого кода - позвольте фреймворку, подобному Linq-to-SQL или EF, обрабатывать эту скучную инфраструктуру за вас и сконцентрироваться на ваших реальных бизнес-требованиях и потребностях.

12
ответ дан 5 December 2019 в 14:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: