Когда бы вы когда-либо использовали компоненты In-Proc WCF?

Я изучаю отличные сервисы WCF для программирования Juval Lowy, и я только что создал очень простой внутрипроцессный компонент, используя его класс InProcFactory, который поставляется вместе с его библиотекой ServiceModelEx.

Почему вы сделали бы это вместо того, чтобы использовать в своем проекте только обычные классы? Использование его метода требует ссылки на его библиотеку и создания интерфейса.

Я могу назвать пару преимуществ:

  • Если вы будете делать это последовательно, вы значительно уменьшите связь.
  • После того, как вы написали внутрипроцессные компоненты, их можно использовать вне процесса или удаленно без изменений.

Есть ли больше преимуществ в этом?

Вы пишете код с компонентами WCF внутри процесса?

Должны ли все классы быть компонентами?

Можете ли вы полностью переборщить со всей этой развязкой?

Перевешивают ли недостатки разделения всех классов на компоненты преимущества? Наоборот?


person Tad Donaghe    schedule 19.12.2008    source источник


Ответы (2)


Если вы подписаны на информационный бюллетень IDesign, вы должны знать, что Juval провел несколько стендовых тестов производительности с EVERY CLASS в качестве службы WCF. Он сказал, что производительность приемлема для обычного бизнес-приложения. Сказав это, я думаю, что существуют значительные накладные расходы с точки зрения кривой обучения (т. Е. Если бы мы все были мастерами WCF, это не было бы проблемой) при выполнении чего-то подобного. Вы также захотите сделать perf. тесты для вашего индивидуального сценария.

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

person Jonathan Parker    schedule 25.03.2009
comment
Отличный ответ! Спасибо, что сообщили мне о новостной рассылке iDesign. Лоуи, безусловно, мой любимый чувак в WCF. - person Tad Donaghe; 30.03.2009

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

person Matthew Timbs    schedule 19.12.2008