如何在IIS7中获取与应用程序池关联的应用程序

我有一个虚拟目录名称。 对于这个虚拟目录,我必须找出相关的应用程序池。 一旦我得到应用程序池,我必须找出这个应用程序池中的所有虚拟目录..我正在使用此代码找出与虚拟目录关联的应用程序池

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; } } } 

 using (var serverManager = new ServerManager()) { var apps = (from site in serverManager.Sites from app in site.Applications where app.ApplicationPoolName.Equals("DefaultAppPool") select app); } 

我认为我们必须重新运行应用程序池的function以获取相关应用程序的名称。

  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; } } } 

可能是这个链接将为您提供开发代码的提示

重新启动(回收)应用程序池

或者新线没有循环方法:

  Environment.GetEnvironmentVariable("APP_POOL_ID", EnvironmentVariableTarget.Process);