Azure. Как выполнять задачи запуска для каждой записи сайта на веб-роле? - PullRequest
1 голос
/ 08 февраля 2012

У нас есть WebRole, которая размещает несколько сайтов. Мы сделали задачи запуска для каждого сайта с некоторыми специфическими для сайта действиями. Проблема заключается в том, что во время развертывания можно запустить только задачу запуска первого сайта (первый сайт указан в разделе).

Похоже, это происходит потому, что только первый сайт (или тот, который определен из роли в Интернете) будет скопирован в папку [drive]: \ Approot в экземпляре WebRole. Все остальные сайты будут скопированы в [диск]: \ sites \ (ранее это было другое местоположение, поэтому оно могло стать предметом будущих изменений).

Есть ли простой способ запуска командных файлов для каждого сайта в [диск]: \ sites \?

Есть ли уловки с объектом RoleEnvironment или значениями xPath (как здесь http://msdn.microsoft.com/en-us/library/windowsazure/hh404006.aspx), которые могут предоставить точный путь, где будут размещены дополнительные сайты?

Банкомат у нас есть 2 варианта, оба взломанные и нестабильные, imo: 1. Чтение данных из конфигурации IIS и использование их в качестве основной задачи запуска 2. Сканируйте / sites / для явно названных сценариев и выполняйте их, если они найдены.

1 Ответ

1 голос
/ 08 февраля 2012

Задание запуска предназначено для роли, а не для сайта. Вы должны найти выход с помощью потомка RoleEntryPoint и использовать его метод OnStart , чтобы вручную запускать задачи запуска для каждого сайта.

Что касается поиска каталогов сайтов, проверьте этот вопрос , так как ответ полностью охватывает задачу. Я использую его, он на 100% надежен для производства.

...