Вопрос

Я работаю над проектом, использующим Windows 2008, .NET 3.5 и WCF для некоторых внутренних служб, и возник вопрос о том, как разместить службы.

Поскольку мы используем Windows 2008, я подумал, что было бы неплохо воспользоваться преимуществами службы активации процессов Windows (WAS), хотя в проекте, похоже, создается впечатление, что использование служб Windows было бы лучше.

Итак, в чем же недостаток использования WAS для размещения служб WCF по сравнению со службой Windows?Есть ли какие-то реальные преимущества в использовании служб Windows или это правильный путь?

Это было полезно?

Решение

Недавно мне пришлось ответить на очень похожий вопрос, и это причины, по которым я решил использовать IIS 7.0 и был вместо инфраструктуры обслуживания Windows.

  1. IIS 7.0 - гораздо более надежный хост, и он поставляется с многочисленными функциями, упрощающими отладку.Отслеживание неудачных запросов, повторное использование рабочего процесса, сиротство процесса - вот лишь некоторые из них.
  2. IIS 7.0 предоставляет вам больше возможностей указать, что должно происходить с рабочим процессом при определенных обстоятельствах.
  3. Если вы размещаете свою службу под управлением IIS, ей не назначен рабочий процесс до самого первого запроса.Это то, что было желаемым поведением с моей точки зрения, но в вашем случае оно может быть другим.Служба Windows предоставляет вам возможность запускать вашу службу более детерминированным способом.
  4. По моему опыту, WAS сам по себе не обеспечивает повышенной надежности.Его самое большое преимущество заключается в том, что он предоставляет возможности IIS приложениям, использующим протоколы, отличные от HTTP.Под разными я подразумеваю:TCP, именованные каналы и MSMQ.
  5. Единственным недостатком использования было то, о чем я знаю, это то, что адрес, по которому предоставляется ваш сервис, должен соответствовать какому-то шаблону.Описано, как это выглядит в случае MSMQ здесь
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top