小编And*_*ych的帖子

从Microsoft.Web.Administration.dll IIS 8.5使用WorkerProcess.GetRequests方法时出错

我正在使用Microsoft Windows Server 2012 R2标准x64(IIS 8.5)的C#(.NET Framework 4.5)编写Windows服务应用程序,并使用Microsoft.Web.Administration.dll(来自C:\ Windows\System32\inetsrv的7.0.0.0) ).

当我运行以下代码时:

using(var srvmngr = new Microsoft.Web.Administration.ServerManager())
{
    foreach(var pl in srvmngr.ApplicationPools)
    {
         foreach (var w3wp in pl.WorkerProcesses)
         {
             foreach (var request in w3wp.GetRequests(0))
             {
                 var success = true;
             }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

服务以管理员权限启动,"GetRequests(0)"方法引发以下异常:

System.NotImplementedException - {"The method or operation is not implemented."}
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪:

at Microsoft.Web.Administration.Interop.IAppHostMethodInstance.Execute()
at Microsoft.Web.Administration.ConfigurationMethodInstance.Execute()
at Microsoft.Web.Administration.WorkerProcess.GetRequests(Int32 timeElapsedFilter)
Run Code Online (Sandbox Code Playgroud)

使用以下代码在PowerShell中获得相同的异常:

PS > [System.Reflection.Assembly]::LoadFrom("C:\windows\system32\inetsrv\Microsoft.We????b.Administration.dll" )
PS > $sm = new-object Microsoft.Web.Administration.ServerManager
PS > $sm.workerprocesses | foreach-object {$_.GetRequests(0)}
Run Code Online (Sandbox Code Playgroud)

有人可以建议我吗?

c# iis .net-4.5

4
推荐指数
1
解决办法
1890
查看次数

标签 统计

.net-4.5 ×1

c# ×1

iis ×1