我想通過我的應用程序回收應用程序池。如何通過代碼獲取應用程序池名稱(C#,ASP.net)
此前我將應用程序池名稱存儲在我的數據庫中並使用它進行回收。 但過去發生的情況是,我們將應用程序從一個應用程序池移到另一個應用程序池,有時我們忘記更新數據庫中的應用程序池名稱。
所以我想通過應用程序獲取應用程序池名稱並將其用於回收。
我想通過我的應用程序回收應用程序池。如何通過代碼獲取應用程序池名稱(C#,ASP.net)
此前我將應用程序池名稱存儲在我的數據庫中並使用它進行回收。 但過去發生的情況是,我們將應用程序從一個應用程序池移到另一個應用程序池,有時我們忘記更新數據庫中的應用程序池名稱。
所以我想通過應用程序獲取應用程序池名稱並將其用於回收。
願這可以幫助:ApplicationPoolName物業
命名空間:Microsoft.Web.Administration 大會:Microsoft.Web.Administration(在Microsoft.Web.Administration.dll)
以防萬一,'安裝包Microsoft.Web.Administration' – 2016-02-07 21:12:36
修改版本的@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);
這樣的事情? http://stackoverflow.com/questions/1400464/enumerating-application-pools-in-iis – fuchs777 2014-09-04 11:42:48