如何使用C#从IIS获取当前的Worker Request列表?
我正在编写RESTful Web服务状态页面的代码。 我想知道是否有将IIS的当前请求转移到C#中。
我正在使用IIS 7.0,我想要的信息是在
IIS>工作程序> ASP.NET v4.0 >请求
您可以使用WorkerProcess
类型的GetRequests
方法。 此类型位于Microsoft.Web.Administration
程序集中,可以使用此非官方nuget程序包或通过添加对此dll %WinDir%\System32\InetSrv\Microsoft.Web.Administration.dll
的引用来安装
例子:
using (ServerManager manager = new ServerManager()) { while (true) { var requests = manager.ApplicationPools .Where(pool => pool.Name == "FooPool") .SelectMany(pool => pool.WorkerProcesses) .SelectMany(wp => wp.GetRequests(10)); Console.WriteLine(requests.Count()); Thread.Sleep(100); } }