2016-12-27 14 views
0

mongoDBへの接続が成功したかどうか確認したいですか? (それが正常に接続した場合にだけ働いている)私はこのコードを試してみましたが、それは完全に機能していないC#でmongoDBの接続が成功したかどうかを確認する方法

var client = new MongoClient("mongodb://name:[email protected]***.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 
} 

EDIT: 私のような何かをしたい:作成した後

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

+0

ませんが、あなたが例外を取得しますか?ちょうどそれを捕まえる。もちろん、実際に操作を実行するまでは発生しません。接続のようなものは何もしません。いくつかの統計情報や生のpingコマンドを取得してみてください。 – Lloyd

+0

どのようにしてpingを使用できますか?どのピングがちょうどいいですか? –

答えて

2

をクライアントのサーバーへの参照を取得し、Ping関数を呼び出してみてください。デザインのスロー例外によるこの方法は、サーバが生きていない場合、私たちはのtry-catchでのif-elseブロックを置き換えることができます。

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

詳細:IIRC ping documentation

+0

私はそれを試みたが、何もしない、それは私のアプリを停止します。 –

+0

あなたのケースの編集を追加しました – ivamax9

+0

あなたの助けてくれてありがとうございますが、それは遅すぎます(私はあなたのために編集を追加しました)失敗した場合のサーバーからの回答を得るには? –

関連する問題