我希望在C#中以编程方式获取IIS当前已排队的请求数。
我也希望获得CPU使用率......
有人能指出我正确的方向吗?
答案 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
开头的类