首页 > 解决方案 > C# 以编程方式启动/停止 IIS 应用程序池并出现访问被拒绝问题

问题描述

我试图在以下代码中以 C# 编程方式简单地启动/停止 IIS 中的应用程序池:

ServerManager serverManager = new ServerManager();
ApplicationPoolCollection appPools = serverManager.ApplicationPools;
foreach (ApplicationPool ap in appPools)
{
            if (ap.Name == "Test App")
                ap.Start();
}

我已经在项目中添加了 Microsoft.Web.Administration 程序集。我还在文件夹 C:\Windows\System32\inetsrv\config 中为用户“IIS AppPool\DefaultAppPool”授予了完全权限。(在授予此权限之前,它甚至无法读取应用程序池名称。)

但是,它在尝试启动应用程序池时仍然会引发异常。

Microsoft.Web.Administration.dll 中出现“System.UnauthorizedAccessException”类型的未处理异常

附加信息:访问被拒绝。(来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED))

我还需要添加什么权限来修复它?谢谢。

标签: c#iisapplication-pool

解决方案


推荐阅读