Как я могу получить имя слота (производственного или промежуточного) моей службы приложений при запуске основного процесса asp.net.
Переменная среды HTTP_HOST не устанавливается при запуске, и у меня нет http-запроса для проверки.
Как я могу получить имя слота (производственного или промежуточного) моей службы приложений при запуске основного процесса asp.net.
Переменная среды HTTP_HOST не устанавливается при запуске, и у меня нет http-запроса для проверки.
Если мы хотим получить имя хоста, вы можете использовать для этого переменную среды WEBSITE_HOSTNAME.
var hostName = Environment.GetEnvironmentVariable("WEBSITE_HOSTNAME");
Если вы запустите его в среде слота, вы получите значение youwebsiteName-slotName.azurewebsites.net
. Или, если вы запустите его в рабочей среде, вы получите значение youwebsiteName.azurewebsites.net
.
Обновление:
Для этого мы могли бы использовать слот appsetting.
1. Перейдите в веб-приложение слота и настройте параметры приложения и проверьте настройки слота.
2. Используйте следующий код, чтобы получить имя слота.
string name = string.Empty;
var sitName = Environment.GetEnvironmentVariable("APPSETTING_WEBSITE_SITE_NAME", EnvironmentVariableTarget.Process);
var slotName = Environment.GetEnvironmentVariable("APPSETTING_KeyName", EnvironmentVariableTarget.Process); //APPSETTING_Test_Slot
if (!string.IsNullOrEmpty(slotName))
{
name = sitName + "-" + slotName;
}
else
{
name = sitName;
}
APPSETTING_WEBSITE_SLOT_NAME
. Но я не могу найти его в azure webApp. Я рекомендую вам оставить свой отзыв команде Azure.
- person Tom Sun - MSFT; 14.05.2018