2016-06-28 33 views
0

GetServer不見了。我如何檢查服務器是否連接或甚至存在?C#MongoDB.Driver:如何查看服務器是否連接。 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. 

如何檢查如果一個服務器可以連接?

回答

0

Cluster.Description.State不會立即更新。當我檢查時,它在大約100+毫秒後被更新。該驅動程序包含一個連接池,它似乎做了很多異步。

但是,集羣屬性有一個「DescriptionChanged」事件,一旦完成連接就會觸發該事件。

如果其他人有關於連接和超時的知識,請分享它。

相關問題