Генерация прокси в WCF - PullRequest
0 голосов
/ 24 марта 2011

В стандарте кодирования WCes IDesign говорится: «Не дублируйте прокси-код. Если два или более клиентов используют один и тот же контракт, выделите прокси в отдельную библиотеку классов». Хотелось бы узнать в чем преимущество вышеуказанного состояния?

Ответы [ 2 ]

3 голосов
/ 24 марта 2011

Помимо общего принципа СУХОЙ (не повторяйте себя), это позволяет избежать потенциальной путаницы, связанной с наличием нескольких типов с одинаковыми именами и членами.

Конечно, если ваши два или более клиентов полностьюнезависимо (отдельные решения Visual Studio), для каждого нормально иметь свой собственный прокси.

1 голос
/ 24 марта 2011

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

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

Я рекомендую, чтобы, если вы собираетесь использовать прокси-подход, не использовать Visual Studio Add Service Reference для генерации этого прокси. Если возможно, рассмотрите возможность использования реализации ChannelFactory.

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