从c#代码获取IIS中的请求数

时间:2011-01-24 15:10:44

标签: c# iis

我希望在C#中以编程方式获取IIS当前已排队的请求数。

我也希望获得CPU使用率......

有人能指出我正确的方向吗?

3 个答案:

答案 0 :(得分:4)

您需要查看系统性能计数器中的读取信息,具体取决于您要查找的内容,您可以使用多个计数器。

MSDN article显示所有IIS6性能计数器,您应该能够找到类似的IIS7。

对于CPU使用情况,有几种方法可以解决这个问题。取决于您是否需要总CPU使用率或每个进程CPU使用率。

此外,从进程计数器读取时此处为a tutorial

答案 1 :(得分:2)

在IIS7上,您可以使用Microsoft.Web.Administration程序集,WorkerProcess对象具有GetRequests方法,请查看WorkerProcess.GetRequests Method

对于CPU使用率,您可以使用ApplicationPool类的Microsoft.Web.Administration.ApplicationPoolCpu属性,尽管我不确定是否有关于当前CPU使用情况的信息,请查看ApplicationPool.Cpu

Microsoft.Web.Administration很棒:)

答案 2 :(得分:1)

查看System.Diagnostics命名空间,尤其是以PerformanceCounterXXX开头的类