Можно ли разместить консольное приложение на Azure или Amazon? - PullRequest
10 голосов
/ 03 января 2012

Я хотел бы знать, возможно ли написать консольное приложение для порта в Windows Azure .

Консольное приложение не имело бы интерфейса, оно просто выполняло бы свою работу, не сообщая пользователю о том, что оно делает. В этом случае это будет приложение с сокетом.

Я не хочу, чтобы это был веб-сайт. Это не будет никакого дополнения к проекту.

РЕДАКТИРОВАТЬ: Спасибо всем за быстрый ответ. Теперь у меня есть ответ на то, что я искал. Теперь мой вопрос: как бы это называется в Амазонке? Это рабочая роль в Azure ... теперь я знаю, что благодаря всем вам

Ответы [ 5 ]

7 голосов
/ 03 января 2012

Абсолютно можно запустить консольное приложение в Windows Azure как в веб-, так и в рабочей роли (как Windows Server 2012, так и 2008 R2 / SP2), и вы обычно можете запускать их без изменений.Вам потребуется:

  • Предоставить двоичные файлы или установщик для консольного приложения, а также любые дополнительные библиотеки поддержки DLL.Вы можете сделать их частью своего развертывания или сохранить их в хранилище BLOB-объектов и скопировать их локально при загрузке виртуальной машины.
  • Настройка конечных точек ввода для портов tcp / http / https, которые ваше консольное приложение прослушивает
  • Обработка вывода stdout / stderr
  • Настройка локального хранилища для временных файлов / кэша и т. Д., Необходимых для консольного приложения
  • Запустите консольное приложение в любом из них OnStart() (предпочтительное место, котороевызывается до помещения вашего экземпляра виртуальной машины в балансировщик нагрузки) или Run().

Необходимо подумать о том, как работает консольное приложение при наличии нескольких экземпляров виртуальных машин.Могут ли два экземпляра вашего консольного приложения работать одновременно?Если нет, то вам нужно настроить проверку мьютекса перед запуском исполняемого файла вашего консольного приложения.

Стив Маркс недавно писал о работе веб-сервера Mongoose в Windows Azure (Mongoose - этоКонсольное приложение на основе C ++).Весь код находится в проекте PackAndDeploy на github , так что вы можете взглянуть на то, как он все настраивал.

РЕДАКТИРОВАТЬ 7/27 / 2013 Этот ответнемного устаревший.Вы также можете запускать консольные приложения на виртуальных машинах Windows или Linux.И теперь у вас есть Windows Server 2012 в качестве ОС для экземпляров веб / рабочих ролей.

2 голосов
/ 03 января 2012

На Amazon нет «рабочей роли» и связанного с ней супер-простого развертывания. Вы можете просто развернуть консольное приложение и запустить его на своем экземпляре EC2 вручную или с помощью запланированной задачи. Если ваше приложение должно работать без участия пользователя и без входа в систему, вам следует полагаться на службу Windows, развернутую в AWS EC2.

1 голос
/ 03 января 2012

Вы не можете разместить консольное приложение, есть то, что называется Worker Role, что вы можете использовать его.

1 голос
/ 03 января 2012

Вы можете использовать рабочую роль в Windows Azure.Вывод может быть записан на определенные мониторы .

0 голосов
/ 03 января 2012

Вы не можете напрямую разместить консольное приложение в Azure или любом другом облаке. Как сказал Гьяф, вам придется использовать рабочую роль в случае Azure.

Взгляните на этот пример, который демонстрирует, как вы можете преобразовать консольное приложение в рабочую роль в Windows Azure. См. Задание 1.

...