我在C#上使用MongoDB並試圖做簡單的查詢。像線條 程序執行終止:C#+ MongoDB:程序終止並拋出沒有例外
var people = await collection.Find(filter).ToListAsync();
或上線
using (var cursor = await collection.FindAsync(filter))
它trows沒有例外,它具有Console.WriteLine( 「測試」)和到Console.ReadLine() 末該程序沒有執行。在cmd中,我看到與DB的連接已建立。
任何想法?
P.S.
var filter = Builders<Follower>.Filter.Eq("id", f.id);
List<Follower> fetchedFollowers = new List<Follower>();
Console.WriteLine("0");
try
{
using (var cursor = await collection.FindAsync(filter))
{
Console.WriteLine("1");
while (await cursor.MoveNextAsync())
{
var batch = cursor.Current;
foreach (Follower foll in batch)
fetchedFollowers.Add(foll);
}
}
}
catch (Exception e)
{
Console.WriteLine("Exception block");
Console.WriteLine("2");
}
Console.WriteLine("3");
Console.ReadLine();
更新。這條線:
var count = await collection.Find(filter).CountAsync();
給出了相同的結果 - 程序終止
你怎麼能告訴它終止?它能在等待什麼嗎? –
如果它沒有拋出異常,你如何判斷它終止?例如,你可能會遇到死鎖。 –
控制檯在不執行Console.WriteLine(「test」)和Console.ReadLine()的情況下關閉,我將try-catch放到了每個地方,而且我還用槽來處理每一行,並且它從來沒有進入任何catch塊,並且studio的輸出表示線程0x26bc已退出,代碼爲0(0x0)。 –