3
我的mongoDB託管在Mongo Lab上,我使用C#作爲檢索數據的代碼。正確的方式MongoDB連接的C#異常處理
1 10次蒙戈查詢拋出異常:
System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
我問MongoLab調查該時間段的日誌報告,他們說我沒有從他們身邊登錄並勸我使用正確的mongo異常處理。
我的問題:我應該如何處理C#中的Mongo異常?
我應該這樣做,如下所示。再次查詢一次或兩次:
/*Connection part
----
----
*/
List X<XYZ> = new List<XYZ>;
try{
var Query = from o in collection.AsQueryable<XYZ>()
where ...
select o;
List= Query.ToList();
}
catch(MongoException e){
var Query = from o in collection.AsQueryable<XYZ>()
where ...
select o;
List= Query.ToList();
}
感謝您的幫助。
謝謝先生。這似乎是一個合理的方法。 +1並回答。 – user1071979 2012-08-15 10:33:46
您不應該重試MongoConnectionException:_「重試引發MongoConnectionException的操作是不安全的__mongodb.github.io/mongo-csharp-driver/2.0/reference/driver/error_handling/。而是做一些像catch(MongoServerException)這樣的事情。 – 2015-12-06 14:10:34
@Inge Eivind Henriksen文檔明確指出重試是不安全的_unless_操作是冪等的,我總是期望讀取是。 – Siewers 2016-06-28 19:39:30