从c#代码获取IIS中的请求数
我希望获得IIS当前在C#中以编程方式排队的请求数。
我也希望得到CPU的使用率……
谁能指出我正确的方向?
您将需要查看系统性能计数器中的读取信息,具体取决于您要查找的内容,您可以使用多个计数器。
这篇MSDN文章显示了所有IIS6性能计数器,你应该能够找到类似的IIS7。
对于CPU使用情况,有几种方法可以解决这个问题。 取决于您是否需要总CPU使用率或每个进程的CPU使用率。
另外,这里有一个关于从过程计数器读取的教程 。
在IIS7上你可以使用Microsoft.Web.Administration程序集,WorkerProcess对象有GetRequests方法,看一下WorkerProcess.GetRequests方法
而对于CPU使用情况,您可以使用ApplicationPool类的Microsoft.Web.Administration.ApplicationPoolCpu属性,尽管我不确定是否有关于当前CPU使用情况的信息,请查看ApplicationPool.Cpu
Microsoft.Web.Administration很棒:)
查看System.Diagnostics
命名空间,尤其是以PerformanceCounterXXX
开头的类