0
我的任務是找到一種方法從網頁重新啓動應用程序池。 IIS由我們自己的IT部門託管,因此,如有必要,所有需要的安全設置都將被更改。如何正確使用Microsoft.Web.Administration從網頁啓動應用程序池?
我使用Microsoft.Web.Administration.dll,並試圖爲我的本地IIS(7.5):在
ServerManager serverManager = new ServerManager();
ApplicationPoolCollection applicationPoolCollection = serverManager.ApplicationPools;
foreach (ApplicationPool applicationPool in applicationPoolCollection)
{
appPoolNames.Add(applicationPool.Name);
// If the applicationPool is stopped, restart it.
if (applicationPool.State == ObjectState.Stopped)
{
applicationPool.Start();
}
}
// CommitChanges to persist the changes to the ApplicationHost.config.
serverManager.CommitChanges();
如果我把這個邏輯在一個WinForm和運行的本地管理員,我的應用程序池本地IIS將啓動。但是,如果我把同樣的邏輯在網頁時,出現錯誤,在錯誤這一行:
if (applicationPool.State == ObjectState.Stopped)
Exception: System.ComponentModel.Win32Exception: Access is denied
我認爲這是出於安全的,但我已經給本地管理員用戶到我的應用程序池。有沒有辦法在網頁上實現這一點?