繁体   English   中英

如何以编程方式列出IIS工作进程?

[英]How can I list IIS working processes programmatically?

我尝试按照此处的建议使用WorkerProcess类,但收到“ System.Management.ManagementException:无效的类”错误消息。

        var scope = new ManagementScope("//./root/CIMV2");
        var searcher = new ManagementObjectSearcher(scope, new ObjectQuery("SELECT * FROM WorkerProcess"));

还有其他想法吗?

如果这是针对IIS 7+的,则可以轻松使用ServerManager,在此处可以找到一些示例: http : //blogs.msdn.com/b/carlosag/archive/2006/04/17/microsoftwebadministration.aspx

对于WorkerProcesses,您可以执行以下操作:

using(ServerManager iisManager = new ServerManager()) {
  foreach(WorkerProcess w3wp in iisManager.WorkerProcesses) {
    Console.WriteLine("W3WP ({0})", w3wp.ProcessId);

    foreach (Request request in w3wp.GetRequests(0)) {
        Console.WriteLine("{0} - {1},{2},{3}",
                    request.Url,
                    request.ClientIPAddr,
                    request.TimeElapsed,
                    request.TimeInState);
    }
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM