ASP.NET Web API服务使用的IIS线程数

ASP.NET Web API服务使用的IIS线程数,iis,asp.net-web-api,Iis,Asp.net Web Api,如何知道ASP.NET Web API服务在给定时间消耗的IIS线程数 我可以通过以下代码段计算运行应用程序的.NET CLR线程数: int number = Process.GetCurrentProcess().Threads.Count; 但我的问题是关于IIS线程的 IIS v8.5、Windows Server 2012中的服务(ASP.NET应用程序)正在使用运行。因此,如果在运行时已知应用程序池的名称,则可以确定应用程序池的线程数: var applicationPoolNam

如何知道ASP.NET Web API服务在给定时间消耗的IIS线程数

我可以通过以下代码段计算运行应用程序的.NET CLR线程数:

int number = Process.GetCurrentProcess().Threads.Count;
但我的问题是关于IIS线程的

IIS v8.5、Windows Server 2012中的服务(ASP.NET应用程序)正在使用运行。因此,如果在运行时已知应用程序池的名称,则可以确定应用程序池的线程数:

var applicationPoolName = "YOUR APPLICATION POOL";

using (var serverManager = new Microsoft.Web.Administration.ServerManager())
{
    var applicationPool = serverManager.ApplicationPools[applicationPoolName];

    var threadsCount = applicationPool
                            .WorkerProcesses
                            .Select(p => Process.GetProcessById(p.ProcessId))
                            .SelectMany(p => p.Threads.Cast<ProcessThread>())
                            .Count();
}
var applicationPoolName=“您的应用程序池”;
使用(var serverManager=new Microsoft.Web.Administration.serverManager())
{
var applicationPool=serverManager.ApplicationPools[applicationPoolName];
var threadscont=applicationPool
.工作流程
.Select(p=>Process.GetProcessById(p.ProcessId))
.SelectMany(p=>p.Threads.Cast())
.Count();
}