Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何正确使用Microsoft.Web.Administration从网页启动应用程序池?_C#_Asp.net_Iis 7.5 - Fatal编程技术网

C# 如何正确使用Microsoft.Web.Administration从网页启动应用程序池?

C# 如何正确使用Microsoft.Web.Administration从网页启动应用程序池?,c#,asp.net,iis-7.5,C#,Asp.net,Iis 7.5,我的任务是找到从网页重新启动应用程序池的方法。IIS由我们自己的IT部门托管,因此必要时将更改所需的任何安全设置 我正在使用Microsoft.Web.Administration.dll,并正在本地IIS(7.5)中尝试此操作: 如果我将此逻辑放入winform并以本地管理员的身份运行,则本地IIS中的应用程序池将启动。但是,如果我将相同的逻辑放在网页中,它将在这一行失败并出现错误,错误如下: if (applicationPool.State == ObjectState.Stopped)

我的任务是找到从网页重新启动应用程序池的方法。IIS由我们自己的IT部门托管,因此必要时将更改所需的任何安全设置

我正在使用Microsoft.Web.Administration.dll,并正在本地IIS(7.5)中尝试此操作:

如果我将此逻辑放入winform并以本地管理员的身份运行,则本地IIS中的应用程序池将启动。但是,如果我将相同的逻辑放在网页中,它将在这一行失败并出现错误,错误如下:

if (applicationPool.State == ObjectState.Stopped)
Exception: System.ComponentModel.Win32Exception: Access is denied

我认为这是出于安全考虑,但我已经为我的应用程序池提供了一个本地管理员用户。有没有办法在网页中实现这一点?

我假设该网页与您尝试重新启动的网页不在同一个应用程序池中,这不是一个好主意(因为该网页会突然失去其进程主机)。因此,假设它是一个不同的应用程序池,那么重要的是网页的应用程序池的标识——这需要有重新启动目标应用程序池的权限

if (applicationPool.State == ObjectState.Stopped)
Exception: System.ComponentModel.Win32Exception: Access is denied