Коллекция DirectoryEntry.Properties
, содержит свойство ServerState
. Это не очень хорошо задокументировано, но я нашел этого блоггера , который создал собственное перечисление, которое кажется правильным. Перечисление
public enum ServerState
{
Unknown = 0,
Starting = 1,
Started = 2,
Stopping = 3,
Stopped = 4,
Pausing = 5,
Paused = 6,
Continuing = 7
}
Используя эту логику, чтобы проверить, работает ли DirectoryEntry
, вы должны использовать:
DirectoryEntry entry;
ServerState state = (ServerState)Enum.Parse(typeof(ServerState), entry.Properties["ServerState"].Value.ToString())
if (state == ServerState.Stopped || state == ServerState.Paused)
{
//site is stopped
}
{