如何在C#中检查mongoDB连接是否成功

时间:2016-12-27 18:43:33

标签: c# mongodb

我想检查一下我与mongoDB的连接是否成功?我已经尝试过这段代码,但它并没有完全正常工作(它只是在连接成功的情况下工作)

var client = new MongoClient("mongodb://name:pwd@ds***.mlab.com:port/db");
var db = client.GetDatabase("db");
var coll = db.GetCollection<Book>("book");

var server = client.GetServer();
server.Connect();


if(server.State.ToString() == "Connected")
{
            //do something
}
else
{
            //do something
}

编辑: 我想做类似的事情:

if(server.isConnected){ form2.show();} else { console.write("error");}

1 个答案:

答案 0 :(得分:2)

创建客户端后尝试获取对服务器的引用,然后调用Ping函数。如果服务器不活动,这个方法会因设计抛出异常,所以我们可以用try-catch替换if-else块:

 var server = client.GetServer();
 try {
   server.Ping();
   Console.WriteLine("Connected"); //or form2.show();
 }
 catch(ex)
 {
   Console.WriteLine("Failed");
 }

更多详情:ping documentation