2014-06-17 108 views
2

我试图编写一个应用程序,它能够远程查看IIS池,重置,分别启动和停止每个池。我正在使用ServerManager(assemblyref://Microsoft.Web.Administration)类。如何知道应用程序池是否已远程启动?

我的问题是我看到的泳池名称与inetmgr网格不同,它们的数量也不相同。

我想我一定有很多事情我不太明白。

在此先感谢。

这里是我的代码:

public static List<string> GetPools(
      string serverName) 
     { 
      using (ServerManager mgr = 
       ServerManager.OpenRemote(
       serverName)) 
      {     
       return mgr.ApplicationPools.Select(n => n.Name).ToList(); 
      } 
     } 

[在这里输入的形象描述] [1] enter image description here

+0

我认为他们是IIS Express应用程序池,它列出了您的开发IIS快速安装程序,而不是完整的IIS? – ajg

+0

在openremote(serverName)命令中,我只是指定了我的计算机名称。我如何指定特定的Iis安装在我的机器上? – MirlvsMaximvs

+0

看起来像这里有一个答案 http://stackoverflow.com/questions/8467908/how-to-use-servermanager-to-read-iis-sites-not-iis-express-from-class-library – ajg

回答

0

你有没有考虑不是要求只是一个名称的列表?

Select(n => n.Name).ToList();

只选择名称。现在10秒谷歌使我的文档在

http://msdn.microsoft.com/en-us/library/microsoft.web.administration.applicationpool(v=vs.90).aspx

指示类有一个国家的财产。这是一个枚举,其中包含以下值:

有效值包括启动,启动,停止,已停止和未知。

我的问题是我看到的池名称与inetmgr网格不同,并且它们也有不同的数目 。

这将是一个超强的指标,你比较苹果和橙子。或者 - 两个不同的安装池。例如,IIS Express是一个解决方案。

+0

对不起男人,我不知道我是否理解你。你说我列出的池名是从另一个iis instalation(如快速或可视服务器) – MirlvsMaximvs

0

我不知道为什么,但当我指定的IP而不是机器名称它的工作(不同的iis instalation我想)。此外,我不知道我是否需要模拟以连接到不同的iis机器。

相关问题