我目前能夠檢測到IIS網站是否啓動/暫停/使用下面的代碼停止:檢測IIS網站被停用
public int GetWebsiteStatus(string machineName, int websiteId)
{
DirectoryEntry root = new DirectoryEntry(
String.Format("IIS://{0}/W3SVC/{1}", machineName, websiteId));
PropertyValueCollection pvc = root.Properties["ServerState"];
return pvc.Value
// - 2: Website Started
// - 4: Website Stopped
// - 6: Website Paused
}
我也想,如果一個網站被暫停或不檢測。如果網站被暫停,上面的方法仍然返回2(這是正確的),但對我來說還不夠。
我找不到任何代碼可以完成IIS6及更高版本的工作。
你的意思是說暫停它時不會返回6嗎? – cirrus
「暫停」是什麼意思?你可以在IIS中暫停一個網站,但你的意思是不同的? – Clafou
@cirrus暫停是網站的狀態,如已啓動和已停止。暫停是一種開始的子狀態。如果我暫停網站,我會收到狀態6,這樣就可以。但是如果網站在20分鐘內不使用,IIS將暫停網站。如果您再次請求該網站,它會醒來。因此,上述方法返回2是正確的,因爲該網站處於活動狀態但已暫停。 – hwcverwe