Совместное использование контрактов между клиентом WCF и сервисом - PullRequest
2 голосов
/ 27 сентября 2011

Насколько я понимаю, когда разработчик (компания) разрабатывает как клиент, так и сервис, лучше объединить контракты на данные и сервисы в отдельную сборку, которая будет использоваться как клиентскими, так и сервисными приложениями. Это необходимо для того, чтобы избежать дублирования кода при создании прокси-классов с использованием, например, SvcUtil.

Действительно ли это предпочтительный подход, и был ли у вас проект, который был исключением из этого правила?

Ответы [ 2 ]

0 голосов
/ 27 сентября 2011

Совместное использование сборки контракта может привести к нежелательным зависимостям, поскольку такие классы контракта, как datacontract \ servicecontract, могут содержать методы.Затем эти методы могут вызываться прозрачно в коде клиент-сервер, что нарушает инкапсуляцию этих контрактов.Данные \ сервисные контракты предназначены для использования только в качестве механизма обмена данными.

0 голосов
/ 27 сентября 2011

Мы постоянно делаем это в наших проектах, и я не знаю, что можно сказать против такого подхода.

...