Была ли эта страница полезной?
Ваш отзыв об этом контенте важен для нас. Расскажите нам о том, что вы думаете.
Дополнительный отзыв?
1500 символов осталось
Экспорт (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 возвращает данные, роль перезапускается.

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

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

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

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

    DefaultEndpointsProtocol=https;AccountName=MyAccountName;AccountKey=MyAccountKey
    
    Дополнительные сведения об использовании строк подключения см. в разделе How to Configure Connection Strings.

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

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

См. также

Показ:
© 2015 Microsoft