如何知道应用程序池是否远程启动?

时间:2014-06-17 15:30:56

标签: c# iis

我正在尝试编写一个能够远程查看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

2 个答案:

答案 0 :(得分:0)

您是否考虑过不要求仅列出名单?

  

选择(n =&gt; n.Name)。ToList();

仅选择名称。现在,10秒谷歌引导我到

的文档

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

表示该类具有STATE属性。这是一个枚举,其中包含以下值:

有效值为Starting,Started,Stopping,Stopped和Unknown。

  

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

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

答案 1 :(得分:0)

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