c# MongoDB.驱动程序:如何查看服务器是否连接.GetServer替换

本文关键字:是否 连接 GetServer 替换 服务器 何查看 MongoDB 驱动程序 | 更新日期: 2023-09-27 17:53:08

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.

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

c# MongoDB.驱动程序:如何查看服务器是否连接.GetServer替换

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

然而,cluster属性有一个"DescriptionChanged"事件,一旦连接完成就会被触发。

如果其他人有任何关于连接和超时的知识,请分享。