C#MongoDB.Driver:如何查看服务器是否已连接。 GetServer替换

时间:2016-06-28 14:22:57

标签: c# mongodb

GetServer已经不复存在了。如何检查服务器是否已连接或存在?

示例代码:

// This server exists
var exists = new MongoClient("mongodb://192.168.2.109:27017");

// This server does not exist
var doesNotExist = new MongoClient("mongodb://194.168.200.129:27017");

// Both states return "Discennected"
var connStateExisting = exists.Cluster.Description.State;
var connStateNotExisting = doesNotExist.Cluster.Description.State;

// GetDatabase("name") works for both without errors.

如何检查服务器是否可以连接?

1 个答案:

答案 0 :(得分:0)

Cluster.Description.State不会立即更新。当我检查时,它在大约100+毫秒后更新。驱动程序包含一个连接池,它似乎做了很多异步。

但是,Cluster-property有一个" DescriptionChanged" -event,一旦连接完成就会被触发。

如果其他人对连接和超时有任何了解,请分享。