Экспорт (0) Печать
Развернуть все

Распространенные проблемы, которые вызывают повторное использование ролей

Обновлено: Январь 2014 г.

В этом разделе приведены некоторые распространенные причины проблем с развертыванием, а также советы по устранению этих проблем. Понять, что с приложением что-то не так, можно, если экземпляр роли не запускается или циклически переключается между состояниями инициализации, занятости и остановки.

Отсутствующие зависимости среды выполнения

Если роль в приложении использует какую-либо сборку, не входящую в платформу .NET Framework или управляемую библиотеку Windows Azure, необходимо явно включить эту сборку в пакет приложения. Помните, что другие платформы Майкрософт по умолчанию недоступны в Windows Azure. Если ваша роль использует такую платформу, необходимо добавить эти сборки в пакет приложения.

Перед построением и упаковкой приложения проверьте следующее.

  • Если вы используете Visual Studio, то свойству Копировать локально должно быть задано значение True для каждой указанной в проекте сборки, которая не является частью пакета Windows Azure SDK или платформы .NET Framework. Если вы не используете Visual Studio, необходимо задать расположение указанных сборок при вызове CSPack. Дополнительные сведения об использовании CSPack см. в разделе Средство командной строки CSPack.

  • Файл web.config не ссылается на неиспользуемые сборки в элементе compilation, а все ссылки указывают на сборки, которые входят в .NET Framework или пакет Windows Azure SDK, либо сборки, свойству Копировать локально которых в Visual Studio присвоено значение True, либо сборки, включенные в пакет приложения путем запуска CSPack.

  • Свойству Build Action каждого CSHTML-файла задано значение Content. Благодаря этому файлы в пакете будут размещены правильно, кроме того, это позволяет указать другие заданные файлы в пакете.

Сборка указывает на неверную платформу

Windows Azure — это 64-разрядная среда. Поэтому сборки .NET, скомпилированные для 32-разрядной среды, в Windows Azure работать не будут.

При инициализации или остановке роль вызывает необработанные исключения

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

Роль возвращает данные из метода Run

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

Неверный параметр DiagnosticsConnectionString

Если приложение использует диагностику Windows Azure, в файле конфигурации службы должен быть указан параметр конфигурации DiagnosticsConnectionString. Этот параметр должен определять HTTPS-подключение к учетной записи хранилища в Windows Azure.

Чтобы проверить правильность параметра DiagnosticsConnectionString перед развертыванием пакета приложения в Windows Azure, удостоверьтесь в следующем.

  • Параметр DiagnosticsConnectionString должен указывать на допустимую учетную запись хранилища в Windows Azure. По умолчанию этот параметр указывает на эмулированную учетную запись хранилища, поэтому перед развертыванием пакета приложения его необходимо явно изменить. В противном случае, когда экземпляр роли попытается запустить монитор диагностики, возникнет исключение. Это может вызвать бесконечный перезапуск экземпляра роли.

  • Строка подключения указывается в следующем формате (в качестве протокола необходимо указать HTTPS). Замените MyAccountName на имя вашей учетной записи хранилища, а MyAccountKey на ваш ключ доступа:

    DefaultEndpointsProtocol=https;AccountName=MyAccountName;AccountKey=MyAccountKey
    
    Дополнительные сведения об использовании строк подключения см. в разделе Настройка строк подключения для Windows Azure.

При разработке приложения с помощью средств Windows Azure для Microsoft Visual Studio это значение можно установить на страницах свойств. Дополнительные сведения об использовании Visual Studio для установки значений конфигурации см. в разделе Configuring the Cloud Service.

Экспортированный сертификат не содержит закрытый ключ

Для запуска веб-роли с технологией SSL экспортированный сертификат управления должен содержать закрытый ключ. Если экспорт сертификата выполняется с помощью диспетчера сертификатов Windows, выберите параметр Да, экспортировать закрытый ключ. Сертификат необходимо экспортировать в формат PFX (единственный поддерживаемый в настоящее время формат).

См. также

Показ:
© 2015 Microsoft