Служба Windows для Azure? - PullRequest
       0

Служба Windows для Azure?

39 голосов
/ 17 октября 2011

Я написал службу Windows на C #, которая выполняет целую кучу фоновых задач администратора в базе данных. Теперь мой клиент хочет перенести весь шебанг в Azure. Я почти ничего не знаю об Azure, и мой клиент говорит, что вы не можете запустить службу Windows в Azure. Я гуглил по этой теме и опубликовал несколько очень конкретных примеров того, что кто-то сделал для переноса своей службы Windows в Azure, предполагая довольно высокий уровень понимания того, как работает Azure, но нет общих статей о том, работает ли Windows Службы могут работать в Azure или что нужно сделать, чтобы их адаптировать.

Мне бы очень хотелось получить четкий ответ и пояснение к первому вопросу (можете ли вы запустить службу Windows под Azure?), И если ответ «нет», я бы хотел найти пошаговое руководство для преобразования службы Windows в нечто, совместимое с Azure.

Спасибо!

Ответы [ 7 ]

24 голосов
/ 17 октября 2011

Да, вы можете сделать это - для простого прохождения см. http://blogs.msdn.com/b/mwasham/archive/2011/03/30/migrating-a-windows-service-to-windows-azure.aspx

Другие ссылки с соответствующей информацией:

6 голосов
/ 17 октября 2011

Вы можете запускать все, что захотите, включая службу Windows.

Я думаю, вам будет удобнее конвертировать в WorkerRole , что должно быть очень просто.

2 голосов
/ 27 июля 2016

Для небольших заданий вы можете использовать средство WebJob Azure, которое запускается в веб-приложении (полезно, если вы выполняете фоновые задачи с теми же данными, которыми управляет внешний сайт).

Естьхороший пример здесь: https://azure.microsoft.com/en-us/documentation/articles/web-sites-create-web-jobs/

WebJobs довольно легко запустить, но они не обладают силой рабочих ролей.См. Следующее для сравнения: Роль рабочего против веб-задания

0 голосов
/ 14 апреля 2016

Я бы использовал для этого веб-задания, а их функциональность планирования и простота развертывания / настройки делают эту задачу тривиальной. Заархивируйте свой .exe и загрузите его, затем установите расписание, и все готово.

0 голосов
/ 09 августа 2015

Да, вы можете, на веб-сайте есть задачи веб-заданий, которые вы можете создать пакетно, wsh, powershell (нужна оболочка Azure Power) или использовать API веб-заданий, API отдыха, с другой стороны, у нас есть автоматизация Azure. похоже, но использовать рабочий поток

0 голосов
/ 11 ноября 2014

Ниже приведены инструкции по установке службы Windows в Windows Azure под управлением виртуальной машины с Windows Server 2012 R2:

  • запустите виртуальную машину в Windows Azure Console и подключитесь к ней с помощью Remote Desktop Connector
  • отобразите ваше хранилище как новый диск в вашей виртуальной машине:

    net use z: \ mystorage.file.core.windows.net \ endoint / u: myusername verylongkeythatendswith ==

Ключ хранилища можно найти в консоли управления Azure -> Хранилища -> Управление ключами доступа

  • скопировать все необходимые установочные файлы в подключенное хранилище (копировать и вставить)
  • копирование nssm на локальный диск (не z: так как он использует файловую систему MAFS и недоступен с помощью низкоуровневых команд Windows API)
  • Создать файл .bat со следующими записями

set username = xxx установить пароль = гггг вызов d: \ nssm установить "Мой сервис" "% programfiles% \ PathToService \ myservice.exe" "-p 8677" d: \ nssm set "My service" ObjectName "% username%" "% password%" sc ошибка "Моя служба" действия = перезагрузка / 60000 / перезагрузка / 60000 / перезагрузка / 60000 сброс = 240 d: \ nssm start "Мой сервис"

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

  • запустить скрипт. Услуга должна быть видна в вашем списке услуг.

Наслаждайтесь!

PS: я использовал NSSM , чтобы упростить развертывание службы.

0 голосов
/ 20 августа 2014

Да, нет проблем, вот еще один приятный и простой в использовании пример Начало работы с облачными службами Azure .Это (также) ясно показывает, как реализовать WorkerRole.Вы можете использовать WebRole для управления вашим сервисом.

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