MSMQ Activation для службы WCF Workflow - отключение? - PullRequest
0 голосов
/ 21 сентября 2011

Я настраиваю Сервис Workflow, который активируется MSMQ, как описано здесь: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=21245 (краткий обзор: Приложение-служба WCF Workflow имеет запрос на получение, который опрашивает MSMQ).

Я использую .NET 4.0.

Это работает как шарм. Однако, есть ли простой способ сказать, что он выключается или не запускается в течение определенного времени? В идеале я хотел бы сделать это либо программно (только в нерабочее время), либо через конфигурацию (нам нужно отключить его вручную для решения проблемы). Я мог бы указать на пустую очередь, но это похоже на компромат.

1 Ответ

3 голосов
/ 21 сентября 2011

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

Насколько мне известно, msmq не имеет понятия окна службы.

Но я размещаю службу рабочего процесса через IIS

Если вы размещаете рабочий процесс в IIS, вы можете в определенный момент размотать пул приложений, а затем снова запустить его для своей службы.окно.Вот сценарий powershell, который можно вызвать из запланированной задачи: Запуск / остановка пула приложений IIS6.0 с помощью Powershell или командной строки

Однако вышеприведенный подход довольно ужасен, и я бы не сталне удивлюсь, если у вас возникнут проблемы, если вы сделали это в производстве.

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