c# - 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# - 为事件赋值
- javascript - 反应状态反复恢复到旧值
- r - 闪亮的交互式地图中未使用的参数错误
- botframework - 如何在基于 Bot framewok v4 构建的 Teams Chatbot 中启用语音
- android - Recycler 视图 + MQTT 有时不会在数据集更改后重绘
- php - 在时间范围内执行脚本php
- php - 安装 Laminas 骨架应用程序时收到消息“Composer 找不到 composer.json 文件”
- sails.js - 在 SailsJS 中使用拦截发送参数
- java - java代码没有以正确的大小导出缓冲图像
- javascript - 我应该可以打电话给