Tag: mongodb.driver

如何在C#MongoDB驱动程序v2.0中获取连接状态?

我们开始使用新的MongoDB驱动程序v2 ,我们无法理解我们是否连接到数据库。 我们的仓库代码: var client = new MongoClient(“mongodb://{wrong-host}:{wrong-port}/{dbbname}”); var database = client.GetDatabase(url.DatabaseName); wrong-host和wrong-port是无效值。 首先,我们认为如果没有人正在侦听指定的地址但驱动程序没有抛出exception将被引发。 下一步是在db上调用方法: var dbs = client.ListDatabasesAsync().Result.ToListAsync().Result; 在这里,我们有freez 30秒而不是例外。 我们不适合等待30秒来了解我们是否联系。 System.TimeoutException:使用CompositeServerSelector选择服务器30000ms后出现超时{Selectors = ReadPreferenceServerSelector {ReadPreference = {Mode = Primary,TagSets = []}},LatencyLimitingServerSelector {AllowedLatencyRange = 00:00:00.0150000}}。 集群状态的客户端视图是{ClusterId:“1”,类型:“未知”,状态:“已断开连接”,服务器:[{ServerId:“{ClusterId:1,EndPoint:”****“}”,EndPoint: “****”,状态:“Disconnected”,键入:“Unknown”,HeartbeatException:“MongoDB.Driver.MongoConnectionException:打开与服务器的连接时发生exception.—> System.Net.Sockets.SocketException :无法建立连接,因为目标计算机主动拒绝它****** 最后,我们尝试设置不同的超时但没有任何改变。 var client = new MongoClient(new MongoClientSettings { SocketTimeout = TimeSpan.FromSeconds(1), MaxConnectionIdleTime = TimeSpan.FromSeconds(1), MaxConnectionLifeTime = […]