Я получаю следующую ошибку:
Переработка (Ожидание запуска роли... Сайты развертываются. [2012-12-17T05:30:10Z])
Запуск Один или несколько экземпляров роли неработоспособны. 1 экземпляр: 1 нездоровый
на самом деле я пытался преобразовать свое веб-приложение в облачное приложение.
вот что я сделал:
я добавил облачный проект в свои решения, я добавил webrole, который связан с моим веб-приложением, я создал базу данных sql azure и скопировал всю свою структуру, а также данные в базу данных, я вставил строку подключения в свой webconfig и попытался запустить его при эмуляции это работало нормально, затем попытались развернуть его, создав облачную службу, запустив сборщик для создания пакетов и загрузив пакеты в «промежуточном» режиме. вот где я получил ошибки.
я попытался создать пустое облачное приложение, добавить веб-роль по умолчанию и загрузить его в облако, это сработало нормально. поэтому я подумал, может быть, у меня что-то не так в настройках моей веброле. Я проверил разницу между обоими и заметил, что в обоих решениях диагностика была включена, но учетная запись хранения в моем собственном решении была пустой, поэтому я вставил здесь «UseDevelopmentStorage=true». это ничего не изменило т. Я также увидел разницу в "packages.config"
Роль по умолчанию имела:
<package id="Microsoft.WindowsAzure.ConfigurationManager" version="1.7.0.0" targetFramework="net40" />
<package id="System.Web.Providers" version="1.1" targetFramework="net40" />
<package id="System.Web.Providers.Core" version="1.0" targetFramework="net40" />
<package id="WindowsAzure.Storage" version="1.7.0.0" targetFramework="net40" />
у моего было:
<package id="Microsoft.WindowsAzure.ConfigurationManager" version="1.7.0.0" targetFramework="net35" />
<package id="WindowsAzure.Storage" version="1.7.0.0" targetFramework="net35" />
я пытался изменить это и загрузить, ничего не сделал
Я не использую рабочую роль, у меня есть только 1 работающий экземпляр (такой же, как по умолчанию)
мое приложение использует некоторую аутентификацию в global.asax, где оно пытается прочитать из User.Identity.Name и сравнить с пользователем в базе данных (этот пользователь вставлен в sql azure db). Сначала я подумал, что это может быть причиной проблемы, но даже если я закомментирую этот код, приложение не будет работать в облаке.
Размер виртуальной машины небольшой, уровень доверия = полное доверие
Я также видел некоторые различия в настройках, где у меня были параметры удаленного доступа. Я попытался удалить все это, чтобы исключить проблемы
я читал что-то о ссылках настроек на «копировать локальную истину», но я не уверен, что это будет иметь какое-то значение.
Любые идеи, потому что я действительно не знаю, что делать больше
РЕДАКТИРОВАТЬ:
Я изменил все ссылки на «copy local is true» и отключил диагностику, чтобы убедиться, что с этим все в порядке.
но теперь я получаю ошибку:
<!-- Web.Config Configuration File -->
<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>
Забавно то, что в моем веб-конфиге это уже установлено... И я могу найти только 1 веб-конфиг. Я не совсем уверен, что я делаю неправильно
UseDevelopmentStorage=true
, вы никогда не получите работающую облачную службу. Для этого используйте настоящую строку подключения к хранилищу Azure. - person astaykov   schedule 17.12.2012