Как WAS / IIS управляет экземплярами ServiceHost? - PullRequest
1 голос
/ 19 апреля 2010

Похоже, что WAS будет вызывать ServiceHostFactory.CreateHost () один раз для каждой реализации службы. Как WAS управляет временем жизни ServiceHost / ServiceHostFactory? У нас есть пользовательская фабрика / хост, которая иногда переинициализируется. Мне интересно, перерабатывает ли WAS саму себя или у него есть какая-то другая причина для повторного создания ServiceHostFactory / ServiceHost Я предполагаю, что ServiceHostFactory запускается для AppDomain и является единственным, может кто-то подтвердить?

Ответы [ 2 ]

2 голосов
/ 26 апреля 2010

После применения WCF создается впечатление, что IIS / WAS создаст ServiceHostFactory для каждой конечной точки. Оттуда он будет раскручивать ServiceHosts так, как считает нужным, поскольку это зависит от вашей конфигурации.

1 голос
/ 19 апреля 2010

WAS управляет активацией и временем жизни рабочих процессов. Он управляет активацией на основе сообщений и утилизацией рабочих процессов для поддержки ресурсов приложения. Читая ваше дело, это утверждение верно.

Вы можете использовать Single InstanceContext для обработки всех запросов клиентов. Добавьте следующий атрибут в реализацию контракта:

[ServiceBehavior(InstanceContextMode=InstanceContextMode.Single)]

Кроме того, посмотрите на операцию запуска ServiceHost, если используется статический метод.

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