現在、次のコードを使用して、IISWebサイトが開始/一時停止/停止されているかどうかを検出できます。
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以降で機能するコードが見つかりません。