Мне нужно получить состояние сайта IIS программно через C #. Я обычно делаю это так:
DirectoryEntry DE = new DirectoryEntry( string.Format( "IIS://localhost/W3SVC/{0}", siteID ) );
Int32 serverState = (Int32)DE.Properties["ServerState"][0];
if ( serverState == IISHelper.MD_SERVER_STATE_STOPPED )
DE.Invoke("Start", new object[] { });
Но этот код не работает в Windows Vista, serverState всегда равен 4 (остановлен), даже если сайт работает, а DE.Invoke («Пуск», новый объект [] {}) выдает исключение Interop.
Как я могу это сделать в Vista?
Спасибо.