Вопрос

У нас есть существующая служба WCF, которая использует wsDualHttpBinding для включения обратных вызовов клиенту.Я подумываю о переводе его на netTcpBinding для повышения производительности, но я весьма опасаюсь перехода от службы, размещенной на IIS («зона комфорта», которой мы сейчас наслаждаемся), к созданию собственной службы Windows для ее размещения.Я надеялся, что мы все еще сможем разместить это на IIS 7, но Win2K8 в течение некоторого времени не станет для нас реальностью.

На что следует обратить внимание при создании собственной службы Windows для размещения службы WCF?Такие вещи, как управление сроком службы и регулирование запросов, — это функции, которые предоставляются бесплатно вместе с хостингом IIS, поэтому мне также хотелось бы знать, как мы можем эффективно разместить нашу службу самостоятельно, не испытывая неудобства, когда IIS выполняет за нас тяжелую работу.Спасибо!:)

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

Решение

Поскольку вы не можете использовать WAS для хостинга, необходимо понять несколько вещей.

  • Если служба выходит из строя, она не перезапускается по умолчанию (хотя вы можете изменить это в свойствах службы).
  • IIS перезапустит пул приложений, если он зависнет или станет слишком большим;вы должны сделать это самостоятельно, если хотите такой же надежности.
  • Вы должны создать учетную запись для запуска службы или использовать одну из служб по умолчанию.Не поддавайтесь искушению запустить службу как СИСТЕМА или под учетной записью администратора;если вы хотите использовать встроенную учетную запись, используйте СЕТЕВУЮ СЛУЖБУ.
  • Отладку на месте становится сложнее.
  • Рассмотрите возможность использования регистратора ошибок, такого как log4net.

Сказав, что я развернул комбинацию служб WCF/Windows для клиента 9 месяцев назад;он активно использовался и ни разу не умер.

Ты можешь запросить газ в службе Windows это часть конфигурации WCF.Обратите внимание, что значения по умолчанию очень низкие, вероятно, вам придется их увеличить.

Другие советы

Хостинг в приложении-службе Windows (http://msdn.microsoft.com/en-us/library/ms734781.aspx) — хорошее начало.

Если вы можете разместить свою службу в Vista, вы также можете воспользоваться службой активации процессов Windows (WAS).WAS — это обобщение активации процесса IIS, которое можно использовать для активации процессов через конечные точки, отличные от HTTP (TCP, именованный канал, MSMQ).Чтобы узнать больше о WCF, размещенном в WAS, прочтите http://msdn.microsoft.com/en-us/library/ms733109.aspx.Чтобы узнать, как установить и настроить WAS, прочтите http://msdn.microsoft.com/en-us/library/ms731053.aspx.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top