2014-01-21 3 views
2

Есть ли какие-либо ограничения (производительность, память, потоки и т. Д.) В самообслуживании службы WCF в службе Windows ... вместо использования IIS? Есть тонны статей, показывающих, КАК это делать, но очень мало обсуждений, ЕСЛИ вы должны это сделать. Достаточно сложное приложение, которое я построил, требует, чтобы я сам принимал WCF-службу для одноранговой связи. Очень заманчиво использовать один и тот же самодельный шаблон на сервере для «главных» сервисов, которые должны поражать глобальные пользователи.Являются ли самообслуживаемые услуги WCF ограниченными?

+1

Любые теоретические вопросы должны быть добавлены по адресу http://meta.stackoverflow.com/, stackoverflow предназначен для любых вопросов, связанных с кодированием \ логикой – dreamweiver

+3

meta.stackoverflow.com для вопросов об основном сайте, а не о теоретических вопросах программирования , –

+2

Возможно, вы захотите прочитать [эту страницу MSDN] (http://msdn.microsoft.com/en-us/library/bb332338.aspx), он сравнивает хостинг WCF с IIS и показывает преимущества и недостатки для каждого. –

ответ

0

Я помог архитектору две системы, которые используют самостоятельный хостинг для WCF, и он работает очень хорошо (мы использовали NetTCP для базового коммуникационного протокола). Это было главным образом доказательством концепции, чтобы увидеть, смогу ли я это сделать, и это закончило работать очень хорошо, хотя есть некоторые вещи, которые нужно учитывать. Во-первых, в зависимости от количества сервисов ваш объем памяти может немного увеличиться - у меня было около 40 отдельных сервисов, но затем команда поддержки, которая взяла на себя ответственность, продолжала добавлять новые, и она перешла к 92 последним, что я слышал. Это начинает вводить несколько медленных стартапов, если вы не пронесете процесс инициализации, так как открытие каждого из них под собственным AppDomain (то, что вы обязательно захотите сделать) имеет некоторые дополнительные накладные расходы. Я не могу говорить о том, что производительность лучше/хуже, чем IIS-хостинг, но в целом, она определенно работает хорошо - просто будьте готовы выучить приличную сумму о потоке фона и AppDomains как часть процесса.

4

Основные моменты, которые необходимо учитывать, являются:

  • Port Sharing: IIS дает совместное использование порта бесплатно. Чтобы использовать совместное использование портов в автономной среде, вам необходимо обработать это самостоятельно
  • Ограниченная доступность: услуга доступна только в том случае, если приложение запущено.
  • Ограниченные возможности: Самостоятельные приложения имеют ограниченную поддержку высокой доступности, простоты управления, надежности, возможности восстановления, управления версиями и сценариев развертывания. По крайней мере, готовый WCF не предоставляет их, поэтому в самообслуживаемом сценарии вы должны сами реализовать эти функции; Например, IIS поставляется с некоторыми из этих функций по умолчанию.

Посмотрите на the MSDN docs, чтобы ознакомиться с компромиссом, который вам нужно учитывать.

Смежные вопросы