Ответ 1
Да, вы можете это сделать - для простого прохода см. http://blogs.msdn.com/b/mwasham/archive/2011/03/30/migrating-a-windows-service-to-windows-azure.aspx
Другие ссылки с соответствующей информацией:
Я написал службу Windows на С#, которая выполняет целую кучу фоновых задач администрирования в базе данных. Теперь мой клиент хочет перенести весь shebang на Azure. Я почти ничего не знаю о Azure, и мой клиент говорит, что вы не можете запустить службу Windows на Azure. Я искал эту тему и нашел несколько конкретных примеров того, что кто-то сделал, чтобы переместить свою службу Windows на Azure, предполагая довольно высокий уровень понимания того, как работает Azure, но нет общих статей о том, будут ли Windows Сервисы могут работать под Azure или что делать, чтобы их адаптировать.
Мне бы очень хотелось увидеть ясный ответ и объяснение первого вопроса (можете ли вы запустить службу Windows под Azure?), и если ответ будет отрицательным, мне бы хотелось найти пошаговое руководство для преобразования службы Windows в нечто совместимое с Azure.
Спасибо!
Да, вы можете это сделать - для простого прохода см. http://blogs.msdn.com/b/mwasham/archive/2011/03/30/migrating-a-windows-service-to-windows-azure.aspx
Другие ссылки с соответствующей информацией:
Вы можете запускать все, что хотите, включая службу Windows.
Я думаю, вы бы более счастливы конвертировать в WorkerRole, хотя это должно быть очень просто.
Для небольших заданий вы можете использовать средство Azure WebJob, которое работает в веб-приложении (полезно, если вы выполняете фоновые задачи с теми же данными, что и внешний интерфейс).
Там хорошая разбивка: https://azure.microsoft.com/en-us/documentation/articles/web-sites-create-web-jobs/
WebJobs довольно легко запускается, но не имеют возможности рабочих ролей. Для сравнения см. Следующее: Роль рабочего и веб-работа
Да, не проблема, вот еще один приятный и простой пример Начало работы с Azure Cloud Services. Он (также) четко показывает, как реализовать WorkerRole. Вы можете использовать WebRole для управления вашим сервисом.
Ниже перечислены шаги по установке службы Windows на Windows Azure под управлением VM с Windows Server 2012 R2:
отобразите ваше хранилище в качестве нового диска в вашей виртуальной машине:
net use z:\mystorage.file.core.windows.net\endoint/u: myusername verylongkeythatendswith ==
Ключ хранения можно найти в консоли Azure Management Console → Хранилища → Управление ключами доступа
установить имя пользователя = xxx установить пароль = yyy вызов d:\nssm install "Мой сервис" "% programfiles%\PathToService\myservice.exe" "-p 8677" d:\nssm установить "Мой сервис" ObjectName "% username%" "% password%" sc failure "Мои действия" = перезагрузка/60000/перезагрузка/60000/перезагрузка/60000 reset= 240 d:\nssm начать "Моя служба"
Имя пользователя и пароль должны быть теми, которые вы использовали для создания виртуальной машины.
Наслаждайтесь!
PS: я использовал NSSM, чтобы упростить развертывание службы.
Я бы использовал веб-задания для этого, его планирование и простота развертывания/конфигурации делают эту задачу тривиальной. Залейте свой .exe и загрузите его, затем установите расписание, и все готово.
Да, на веб-сайте есть веб-задания задачи, которые могут создавать пакетные, wsh, powershell (требуется силовая оболочка лазурной оболочки) или использовать API веб-сервисов, API для отдыха, с другой стороны, у нас есть автоматизация Azure аналогичен, но использует рабочий поток