WCF: почему WCF для приложения Windows Forms? - PullRequest
0 голосов
/ 19 мая 2011

Я хочу разработать простое приложение Windows Forms на C # с использованием WPF и MVVM, которое будет подключаться к серверу SQL, установленному на другом компьютере. Итак, я читал, что даже для такой простой структуры некоторые разработчики используют WCF и делают свое приложение ориентированным на обслуживание. Я полностью понимаю, что SOA - это путь к WebApps и SilverLight, но я не понимаю, почему для простой ситуации, такой как Winform и SQL Server, кто-то использует WCF. Я был бы очень признателен, если бы кто-нибудь мог дать мне пару веских причин, почему использовать WCF в моем приложении WinForm (учитывая, что SQL Server будет находиться в одной сети с клиентами)?

Спасибо, Aris

Ответы [ 5 ]

2 голосов
/ 19 мая 2011

Если вам это не нужно, не используйте его:)

Но вам следует подумать о том, планируется ли изменить приложение, например преобразовать его в веб-приложение или Silverlight.В этом случае наличие службы, обеспечивающей доступ к базе данных, облегчит преобразование.Лично я думаю, что это обычно из-за разработки, но это может иметь смысл для вашего приложения, если вы предвидите одно такое изменение в ближайшем будущем.

1 голос
/ 20 мая 2011

Вы должны использовать WCF?Нет.

Однако, на мой взгляд, причин для создания службы WCF для такого рода работы не так уж много.

Использование служб WCF для разных слоев вместо библиотек классовэто отличный способ пойти.Используя WCF, вы можете контролировать, как размещаются ваши компоненты (IIS и http, вплоть до работы с именованными каналами) и где они расположены.

WCF не добавляет больших накладных расходов и в ответвы получаете кучу преимуществ.

Дело не обязательно в том, чтобы беспокоиться о SOA, а в том, чтобы больше думать о гибкости и более эффективном повторном использовании.

0 голосов
/ 19 мая 2011

Лично я не верю в создание сервисов для всего, просто для создания сервисов.Создайте службу, когда вы знаете , что у вас есть потребитель для этой службы.Не просто говорите: «Ну, мы можем когда-нибудь использовать его из другого приложения», и назовите это оправданием для службы.

Услуги должны быть запланированы.Контракты на обслуживание должны быть теми, которые требуются их потребителями.Нет потребителей, нет контрактов, поэтому нет обслуживания.

0 голосов
/ 19 мая 2011

Суть в том, что вы находитесь в сети, поэтому WCF или любой веб-сервис имеет смысл.

Все ваши сетевые вызовы будут асинхронными (или должны быть!).Это легко сделать с WCF.Не так много с прямыми связями.

В наши дни подключены даже приложения WinForm.

0 голосов
/ 19 мая 2011

Я не могу придумать особо вескую причину, кроме привычки.Когда вы делаете что-то одинаково для 99% своих проектов, часто так же легко сделать то же самое для остальных 1%, если это не идет вразрез с вашими требованиями.

Единственный другойПричина, по которой я могу придумать, заключается в том, что вы пишете что-то, что потенциально может быть действительно полезным извне или в виде веб-приложения.Использование WCF в этом случае позволит любому клиенту, который может подключиться к хосту (веб-браузеру, внешнему приложению или чему-либо еще), подключиться к вашей библиотеке без необходимости что-либо изменять после факта.(относительно) уверен, что это будет только приложение Windows, запущенное на рабочем столе сотрудников вашей организации, поэтому я не вижу смысла использовать WCF в этом случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...