我目前能够使用以下代码检测 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 及更高版本工作的代码。