Публикация службы Windows в качестве веб-задания AZURE

У меня есть обработчик NserviceBus, который обычно устанавливается как служба на виртуальной машине. Мы пытаемся заставить это работать на Azure как PAAS. Итак, идея состоит в том, чтобы опубликовать решение как лазурное веб-задание. Когда я публикую его как веб-задание, я получаю отложенный статус запуска. В логах указано следующее.

[02/27/2017 09:35:10 > 2cf107: SYS INFO] Run script 'ENSource.Handlers.exe' with script host - 'WindowsScriptHost'
[02/27/2017 09:35:10 > 2cf107: SYS INFO] Status changed to Running
[02/27/2017 09:35:10 > 2cf107: INFO] Cannot start service from the command line or a debugger.  A Windows Service must first be installed (using installutil.exe) and then started with the ServerExplorer, Windows Services Administrative tool or the NET START command.
[02/27/2017 09:35:10 > 2cf107: SYS INFO] Status changed to Success
[02/27/2017 09:35:10 > 2cf107: SYS INFO] Process went down, waiting for 60 seconds
[02/27/2017 09:35:10 > 2cf107: SYS INFO] Status changed to PendingRestart

Что мне не хватает? Как заставить обработчики NServiceBus работать как веб-задания в Azure?


person Ramanathan Iyer    schedule 27.02.2017    source источник


Ответы (2)


Я бы просто переписал службу, чтобы она больше не была службой Windows, а была консольным приложением. Затем вы можете указать хосту веб-задания запускать его по расписанию (или сделать его непрерывным, используя SDK веб-заданий, если это больше подходит для вашего сценария) .

Альтернативный подход, как уже упоминалось Тиаго, заключается в установке службы Windows внутри рабочей роли в облачных службах: https://blogs.msdn.microsoft.com/golive/2011/02/11/installing-a-windows-service-in-a-windows-azure-worker-role/

Не совсем прямолинейно, но и не ужасно.

person evilSnobu    schedule 27.02.2017
comment
переписал проект как Azure WebJob. проблема не возникает сейчас. - person Ramanathan Iyer; 28.02.2017

Он не будет работать с Azure Web Jobs, вы можете попробовать запустить его как облачные службы с повышенными привилегиями, но я не уверен, даст ли он вам права на установку в качестве службы Windows. Поэтому я боюсь, что нет другого пути, кроме как использовать для этого виртуальную машину. Если вам нужна альтернатива PaaS, вы можете попробовать переписать эту часть своего приложения с помощью служебной шины Azure.

person Thiago Custodio    schedule 27.02.2017