我正在尋找停止/啓動IIS網站的c#.Net應用程序(web或桌面)。試圖在c中打開/關閉iis網站#
我在網上搜索這個,我找不到一個有效的例子或解釋。
我發現這個DLL http://msdn.microsoft.com/en-us/library/microsoft.web.administration.servermanager%28v=VS.90%29.aspx
這是我在做,試圖阻止一個例子/啓動IIS網站:
「使用Microsoft.Web.Administration」 參考..
var server = new ServerManager();
var site = server.Sites.FirstOrDefault(s => s.Name == "SITENAME");
if (site != null)
{
//stop the site...
site.Stop();
if (site.State == ObjectState.Stopped)
{
//do deployment tasks...
}
else
{
throw new InvalidOperationException("Could not stop website!");
}
//restart the site...
site.Start();
}
else
{
throw new InvalidOperationException("Could not find website!");
}
site.Stop拋出一個異常:
"Access denied. (Excepción de HRESULT: 0x80070005 (E_ACCESSDENIED))"
除ionType「UnauthorizedAccessException」
我該怎麼做?什麼即時做錯了?
的錯誤似乎很明顯,你的應用程序在其下運行的安全上下文沒有權限。如果您的程序本身在IIS下運行,請確保它使用的應用程序池具有特權用戶帳戶。 – kingdango
我該怎麼做? – Fausto
您可以使用「以管理員身份運行」或以編程方式執行權限提升過程來運行應用程序。這對我來說似乎是一個很好的起點:http://msdn.microsoft.com/en-us/library/bb756996。 – hege