我有一个虚拟目录名称。对于这个虚拟目录,我必须找出相关的应用程序池。一旦我获得应用程序池,我必须找到此应用程序池中的所有虚拟目录。 我正在使用此代码来查找与virtual关联的应用程序池 目录
string AppPoolName = string.Empty;
ServerManager manager = new ServerManager();
foreach (Site site in manager.Sites)
{
foreach (Application app in site.Applications)
{
string path = app.Path;
path = path.Replace("/", " ");
path = path.Trim();
if (path.ToLower() == VDName.ToLower())
{
AppPoolName = app.ApplicationPoolName;
break;
}
}
}
答案 0 :(得分:5)
using (var serverManager = new ServerManager())
{
var apps = (from site in serverManager.Sites
from app in site.Applications
where app.ApplicationPoolName.Equals("DefaultAppPool")
select app);
}
答案 1 :(得分:2)
我认为我们必须重新运行应用程序池的功能才能获取相关应用程序的名称。
ServerManager manager = new ServerManager();
foreach (Site site in manager.Sites)
{
foreach (Application app in site.Applications)
{
if (app.ApplicationPoolName.ToString() == AppPoolName)
{
string appname = app.Path;
}
}
}
答案 2 :(得分:1)
这个链接可能会为您提供开发代码的提示
答案 3 :(得分:1)
或新线没有循环方法:
Environment.GetEnvironmentVariable("APP_POOL_ID", EnvironmentVariableTarget.Process);