Bardziej odpowiednim sposobem, aby to zrobić, nie jest sprawdzanie serwera, ale raczej klastra (który może zawierać wiele serwerów) i możesz uzyskać do niego dostęp bezpośrednio z MongoClient
przykład:
public bool IsClusterConnceted
{
get
{
return _client.Cluster.Description.State == ClusterState.Connected;
}
}
Jeśli chcesz sprawdzić konkretny serwer, co jest również możliwe:
public bool IsServerConnceted
{
get
{
return _client.Cluster.Description.Servers.Single().State == ServerState.Connected;
}
}
Pamiętaj, że wartość jest aktualizowana przez ostatnią operację, więc może nie być aktualna. Jedynym sposobem na upewnienie się, że istnieje prawidłowe połączenie, jest wykonanie jakiejś operacji.