How do you check if MongoDB connection is alive in C#?

时间:2015-07-28 16:08:43

标签: c# mongodb

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

2 个答案:

答案 0 :(得分:1)

你可以做几件事。

  1. 您可以检查MongoClient的Cluster.Description属性,该属性可以指示整个群集的运行状况。

  2. 或者,您可以手动运行ping命令。这样做的问题是它只会ping 1服务器,如果你正在寻找整个集群的健康状况,那么。

    await client.GetDatabase(“admin”)。RunCommandAsync(new BsonDocument(“ping”,1))

  3. 不用担心。驱动程序正在处理发生故障转移的情况,并且在许多情况下,将在运行操作之前等待故障转移。

  4. 也许如果你详细说明了你的需要,我可以提供更好的答案。

答案 1 :(得分:0)

所以在浏览完文档之后,我找不到与ping相同的东西。我看到的唯一其他解决方案是执行一个简单的操作,看它是否失败。尝试类似:

db.getName()

如果失败,您就知道连接已被删除。