我有一個Windows服務,它從SQL Server讀取數據並將它們寫入MongoDB。MongoDB CountAsync和光標不能在Windows服務中使用新的驅動程序
我試圖使這個服務適應新的MongoDB驅動程序(使用2.0.1版本),但我面臨一些問題。
我有這樣的:
protected void OnStart(string[] args)
{
threadExternalPage = new Thread(new ThreadStart(FacadeFactory.GetLivePrice.UpdateExternalPage));
此代碼調用此方法。
public async void UpdateExternalPage()
{
while (true)
{
MongoUpdateProductBO mongo = new MongoUpdateProductBO();
await mongo.UpdateExternalPage();
}
}
現在的問題:每次我稱這種行mongo.UpdateExternalPage()
var count = await collection.CountAsync(new BsonDocument());
的方法退出而不處理下一個指令。如果我執行這一行
同樣的事情發生:
using (var cursor = await collection.Find(filter).ToCursorAsync())
但是,如果我用做同樣的事情Windows窗體應用程序,沒有任何問題!但我需要這個代碼在Windows服務中工作。有人知道我的實現是錯誤的還是使用新的MongoDB驅動程序有一些限制?