1
下面的代碼工作,因爲它應該做的,如果服務器正在運行,如果USENAME和密碼是否正確。但是,如果我給出錯誤的用戶名或密碼,它不會給我反饋,但調用Count方法時只會遇到超時。驗證用戶使用.NET 2.4驅動程序
MongoClientSettings setts = new MongoClientSettings()
{
Server = new MongoServerAddress("127.0.0.1", 27017),
Credentials = new MongoCredential[] { MongoCredential.CreateCredential("TestDatabase", "username", "password") }
};
this.client = new MongoClient(setts);
this.client.Cluster.DescriptionChanged += this.ClusterDescriptionChanged;
var database = this.client.GetDatabase("TestDatabase");
var collection = database.GetCollection<BsonDocument>("SimpleCollection");
var count = collection.Count(MongoDB.Driver.FilterDefinition<BsonDocument>.Empty);
我要如何從驅動程序的錯誤信息,我該如何檢查,如果它的連接,用戶或不符合密碼?
PS:從2016年1月2.0開始,驅動程序API發生了很大變化,這意味着本網站上的大多數Web教程和帖子不再適用於當前版本。
感謝您的答案。我的客戶端沒有GetServer() - 方法。你指的是哪個版本?您鏈接的示例不提供解決方案。提到的「auth失敗」 - 文本不是例外的一部分。現在它只是一個超時,我仍然不知道密碼是否壞或有人切斷電纜。 – Otterprinz
從我的經驗蒙戈例外是沒有進化到一個較好的水平呢。確定你是否有連接的最好方法是看你是否連接到服務器。如果你有一個成功的連接,你應該能夠查詢服務器。 –
'client.GetServer()'是駕駛員V.1的一部分。並已在第2版中刪除 – Sammy