我正在尝试使用此代码在本地系统上获取应用程序池,我是管理员
Dim ServerManager As New Microsoft.Web.Administration.ServerManager
colAppPools = ServerManager.ApplicationPools
或
ServerManager.WorkerProcesses()
第二行在 redirection.config 上产生 FileNotFoundException我检查了一下,在 %systemroot%\system32\inetsrv\config 目录中有一个具有该名称的文件,该文件存在,我为用户提供了它和文件夹权限,但仍然得到相同的 FileNotFound 异常。
我的猜测是,这可能是由于以下两个原因之一而发生的:
-
您引用了错误版本的 Microsoft.Web.Administration.dll,请确保添加来自 c:\Windows\System32\Inetsrv\Microsoft.Web.Administration.dll 的引用。例如,一个常见问题是当开发人员在"程序文件"目录中引用 IIS Express 版本时。
-
因为您以非管理员身份运行进程。ServerManager 需要管理权限才能读取 windows\system32\inetsrv\config(和架构)中的文件,以及访问列出工作进程和状态的运行时 API,因此请确保运行提升的应用(或者,如果正在进行调试,则启动 Visual Studio 提升)。