【问题标题】:How can I know if a Application pool is started remotely?我如何知道应用程序池是否已远程启动?
【发布时间】:2014-08-07 16:52:06
【问题描述】:

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

【问题讨论】:

  • 我认为它们是 IIS Express 应用程序池,它是否列出了您的开发 IIS Express 设置而不是完整的 IIS?
  • 在 openremote(serverName) 命令中,我只指定了我的计算机名称。如何指定我的机器的特定 iis 安装?

标签: c# iis


【解决方案1】:

您是否考虑过不只要求提供姓名列表?

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

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

的文档

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

这表明该类具有状态属性。这是一个枚举,包含以下值:

有效值为 Started、Started、Stopping、Stopped 和 Unknown。

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

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

【讨论】:

  • 对不起,我不知道我是否理解你。你说我列出的池名称来自另一个 iis 安装(如 express 或 visual server)
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2020-01-08
    • 1970-01-01
    • 1970-01-01
    • 2010-09-16
    • 2012-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多