Как получить имя пула приложений через код (C#, ASP.net)
Я хочу перезапустить пул приложений через мое приложение.
ранее я хранил имя пула приложений в своей базе данных и использовал его для рециркуляции. Но в прошлом мы перемещали приложения из одного пула приложений в другой и иногда забывали обновить имя пула приложений в базе данных.
поэтому я думаю получить имя пула приложений через приложение и использовать его для переработки.
3 ответов
может это может помочь: свойство ApplicationPoolName
Пространство Имен: Microsoft.Сеть.Администрация Сборка: Microsoft.Сеть.Администрации (в Microsoft.Сеть.Администрация.dll файлы)
измененная версия @Razon ответ:)
public static string GetCurrentApplicationPoolName()
{
ServerManager manager = new ServerManager();
string DefaultSiteName = System.Web.Hosting.HostingEnvironment.ApplicationHost.GetSiteName();
Site defaultSite = manager.Sites[DefaultSiteName];
string appVirtualPath = HttpRuntime.AppDomainAppVirtualPath;
string appPoolName = string.Empty;
foreach (Application app in defaultSite.Applications)
{
string appPath = app.Path;
if (appPath == appVirtualPath)
{
appPoolName = app.ApplicationPoolName;
}
}
return appPoolName;
}
во многих случаях может быть достаточно просто прочитать имя пула приложений из переменной среды:
var apppool = System.Environment.GetEnvironmentVariable(
"APP_POOL_ID", EnvironmentVariableTarget.Process);