Как проверить, работает ли код на сайтах Azure
Я знал, что мы можем использовать RoleEnvironment.IsAvailable
, чтобы проверить, работает ли код в роли Web/Worker. Как насчет Azure Websites?
Я попробовал вышеуказанный код RoleEnvironment, но всегда возвращает false. Мне нужно запустить некоторый код конфигурации в Application_Start
, поэтому я не могу зависеть от материала запроса.
Любая помощь приветствуется.
Ответы
Ответ 1
На самом деле очень просто проверить наличие этой переменной среды: WEBSITE_SITE_NAME
.
!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("WEBSITE_SITE_NAME"))
Содержимое для этого будет именем вашего сайта.
Чтобы увидеть дополнительную переменную окружения, которая у вас есть на вашем сайте, перейдите по следующей ссылке: https://{sitename}.scm.azurewebsites.net/Env
Ответ 2
Вы не можете (легко).
С помощью лазурных веб-сайтов ваш сайт работает в IIS. RoleEnvironment всегда будет false, потому что там не инициализируется. Посмотрите на веб-сайты Azure, как на обычный хостинг. Можете ли вы сказать, работает ли ваш сайт в хостинге XYZ или в вашем собственном IIS?
Одна вещь, которую вы могли бы рассмотреть, - это настройки приложения в вашем web.config(да, раздел appSettings) и некоторые параметры, указывающие, запускаете ли вы на WebSites или нет. Прочтите полную статью о настройках приложения в Azure WebSites, чтобы понять, что я имею в виду. Короче: если вы установите значение параметра через портал, оно будет иметь приоритет над тем, что находится в web.config. Вы даже можете просто установить его в Portal, не имея его в вашем web.config.