Не удается выполнить развертывание в Azure

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

6:09:56 PM - Preparing...
6:09:56 PM - Connecting...
6:09:59 PM - Uploading...
6:11:15 PM - Creating...
6:12:28 PM - Starting...
6:13:20 PM - Initializing...
6:13:21 PM - Instance 0 of role TestWebRole is initializing
6:18:39 PM - Instance 0 of role TestWebRole is busy
6:21:51 PM - Instance 0 of role TestWebRole is stopped
6:21:51 PM - Warning: All role instances have stopped
6:22:23 PM - Instance 0 of role TestWebRole is busy
6:23:26 PM - Instance 0 of role TestWebRole is stopped
6:23:26 PM - Warning: All role instances have stopped

Эти ошибки обычно возникают из-за зависимостей, которых нет на облачном сервере (это то, что вы найдете в SO и Google, если будете искать предупреждение выше). Но я проверил каждую зависимость, и они есть с Copy Local=True.

Чтобы еще больше изолировать проблему, я сначала создал новый проект Azure с новой веб-ролью MVC 3, затем я создал новый проект Azure со стандартной веб-ролью ASP.NET, и все еще безуспешно. Я попытался деактивировать диагностику, повторно активировать ее. В эмуляторе Azure проекты работают нормально.

Даже стандартную Visual Studio нельзя развернуть в Azure, я всегда получаю Warning: All role instances have stopped.

Немного расстраивает. Я использую последний Azure SDK 1.7 с инструментами Azure 1.3.

Спасибо за любые подсказки.


person cheesus    schedule 24.06.2012    source источник


Ответы (2)


Если проекты нормально работают в эмуляторе, в большинстве случаев это связано с тем, что все необходимые зависимости установлены на вашем компьютере, но не в Windows Azure.

Я предлагаю вам взглянуть на сообщение в блоге в ответе Дэвида, помимо объяснения того, как отключить состояние сеанса, в нем также объясняется, какие сборки вы должны установить для копирования локально, чтобы MVC3 работал правильно. В качестве альтернативы вы можете попробовать один из методов, описанных Стивом в его сообщении в блоге: http://blog.smarx.com/posts/asp-net-mvc-in-windows-azure

Это действительно может помочь вам активировать удаленный рабочий стол для решения этой проблемы. Если вы заметили, что ваши экземпляры зацикливаются, я предлагаю вам подключиться через RDP и посмотреть в средстве просмотра событий (возможно, вам придется попробовать несколько раз, прежде чем вы сможете подключиться). Следите за предупреждениями ASP.NET в журнале приложений, в большинстве случаев они дадут вам больше информации о том, какие сборки вам не хватает.

person Sandrino Di Mattia    schedule 25.06.2012
comment
Я понятия не имею, что вызвало проблему, но сегодня это работает нормально. Спасибо за подсказку про RDP, очень полезно - person cheesus; 25.06.2012

Удивительно, вчера работало, а сегодня нет. Тем не менее: при создании нового проекта asp.net поставщик состояния сеанса по умолчанию сопоставляется с локальной базой данных SQL, которой нет в Windows Azure. Вам нужно будет отредактировать файл web.config, чтобы он указывал либо на базу данных Windows Azure SQL, либо на кеш (либо к службе общего кеша, либо к новому ролевому кешу, доступному в пакете SDK 1.7).

Нейт Тоттен обсуждал проблему сеанса в этой записи блога. с прошлого года.

person David Makogon    schedule 24.06.2012