2013-12-18 4 views
0

** Обновление: Я обнаружил, что если вы запускаете WF после его перезагрузки, он завершит текущий (В прогресс) WF. Является ли это предполагаемой функциональностью? Я думал, что он автоматически возобновит проверку после запуска и запуска машины, и я не видел упоминания в документации Microsoft - спасибо! **Рабочий процесс не возобновляется после перезагрузки компьютера (в состоянии «Выполняется»)

У меня есть WF (WF4), стреляющий, сохраняющийся и завершающийся, но за исключением того, что когда я перезагружаю виртуальную машину, я запускаю их; это симуляция сбоя сервера. После перезагрузки все текущие запущенные WF остаются в статусе «In-Progress», а опция «Resume» выделена в AppFabric IIS. Я нашел очень похожую статью здесь к моей проблеме, но, пройдя через их решения я не дальше вперед: «WF4 Workflow under AppFabric not resuming properly after IISreset»

Дополнительная информация:

У меня есть 2 приложения; один из них - веб-интерфейс для запуска рабочего процесса, а другой - для службы, которую я затем отслеживаю с помощью AppFabric в IIS. Я прошел через «Управление конфигурацией служб WCF и WF» и установил стандартную строку соединения для Persistence - чтобы она сохранялась. Также убедитесь, что Persist, когда Idle & Выгрузите флажки с галочкой (на каждые 60 секунд); это было сделано на уровне сервера и уровня приложения в узле дерева IIS.

Когда я не перезагружаюсь, WF будет сохраняться, возобновляться и заканчиваться по назначению, только когда я перезагружу виртуальную машину. Сам рабочий процесс не является чем-то особенным. Он просто получает данные (целое число для задержки (в минутах) от пользовательского интерфейса), записывает текстовый файл, чтобы подтвердить, что WF запущен, а затем имеет задержку с помощью общей активности задержки (TimeSpan.FromMinutes (integer);) и завершает запись другого текстового файла, чтобы подтвердить его завершение. Я был в экземпляре WF, но могу только завершить, приостановить или удалить экземпляр.

У кого-нибудь есть идеи или мысли?

Благодаря

ответ

1

После большого исследования я выяснил, почему он не работает. Первоначальный поток, о котором я говорил, был полезен для информации, но по существу слишком старый и устаревший. Пожалуйста, обратитесь к этой статье из MSDN Сайт:

http://msdn.microsoft.com/en-us/library/ee677285.aspx

По сути, у меня были все мои сайты и сервисы, в IIS, настроенные как «веб-сайт». Когда вы переходите в конфигурацию WF WCF, внутри нее нет опции «Автозапуск». Фактически вам нужно настроить службу как «приложение» на веб-сайте в IIS. После того, как вы его настроите, вернитесь в конфигурацию WCF и WF, после чего вы увидите опцию «Автозапуск», доступную в списке слева. Значение по умолчанию - «Отключено», просто «Включить» это и нажмите «Применить» - ему нужно будет обновить службу, тогда вам будет хорошо идти.

Кроме того, необходимо обновить URL-адрес конечной точки в вашем web.config, например. localhost: 8099/Service1.xamlx становится localhost: 8099/ServiceApplication/Service1.xamlx

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