How do you check if MongoDB connection is alive using the latest 2.0 .NET MongoDB Driver? Please don't include solutions using the legacy driver. Thanks.
I used to use the Ping method but that may eventually become obsolete (placed in the Legacy dll since 2.0 release): http://api.mongodb.org/csharp/current/html/M_MongoDB_Driver_MongoServerInstance_Ping.htm
答案 0 :(得分:1)
你可以做几件事。
您可以检查MongoClient的Cluster.Description属性,该属性可以指示整个群集的运行状况。
或者,您可以手动运行ping命令。这样做的问题是它只会ping 1服务器,如果你正在寻找整个集群的健康状况,那么。
await client.GetDatabase(“admin”)。RunCommandAsync(new BsonDocument(“ping”,1))
不用担心。驱动程序正在处理发生故障转移的情况,并且在许多情况下,将在运行操作之前等待故障转移。
也许如果你详细说明了你的需要,我可以提供更好的答案。
答案 1 :(得分:0)
所以在浏览完文档之后,我找不到与ping相同的东西。我看到的唯一其他解决方案是执行一个简单的操作,看它是否失败。尝试类似:
db.getName()
如果失败,您就知道连接已被删除。