我有.net 4.0應用程序執行重型數據庫搜索。我希望這些操作是異步的,它也應該是可以取消的。 Async和await在.net 4.5中也可以正常工作,它也有Async db操作的executereaderasync方法。但我無法升級到.net 4.5。可以使用基於任務的編程,但不同步數據庫搜索優先。有人可以建議在.net 4.0中實現這個選項.net 4.0使用c#4.0從數據庫進行異步查詢
0
A
回答
0
你可以咬緊牙關,使用Asynchronous Programming Model (APM),所有那些async
學習資料都說成是過去的事情。自.NET 2.0以來,ADO.NET(至少SQL Server提供者)支持它。具體而言,您需要SqlCommand
上的BeginExecute
/EndExecute
和Cancel
方法。
2
您可以使用異步定位包(Microsoft.Bcl.Async)來獲取異步等待來處理.NET 4.0。這是msdn上的相關blog。 靶向包允許您使用伺機在Visual Studio 2012(以及更高版本)針對任何的以下平臺(或更高版本)時:
- 的.NET Framework 4.0(含KB2468871)
- 的Silverlight 4
- Windows Phone 7.5
- 以及面向這些平臺的可移植類庫。
這種方式一旦你可以將你的應用程序移動到.NET 4.5,它也將是一個簡單的過渡。
+0
我認爲使用異步和等待不會完全滿足,因爲4.5有4.0 doea沒有的executereaderasync方法。普通的executereader是同步的 –
相關問題
- 1. 異步數據庫查詢
- 2. 使用Ajax進行異步PHP查詢?
- 3. 使用C#,.NET與Oracle數據庫進行異步數據庫操作?
- 4. Node.js異步循環查詢數據庫
- 5. Javascript異步數據庫查詢
- 6. 異步查詢到數據庫在nodeJS
- 7. 數據庫查詢中的異步
- 8. C#異步笏4.0
- 9. jquery datepicker&c#/ aspnet - 異步數據庫查詢
- 10. 使用AJAX,MVC,JQuery進行異步數據庫搜索
- 11. 如何使用Twisted進行異步數據庫操作?
- 12. C#Mysql的使用鎖定數據庫查詢異步等待服務器
- 13. 異步從數據庫
- 14. 使用NHibernate在Web應用程序中進行異步查詢
- 15. C#同步進行異步調用
- 16. 如何正確進行異步/並行數據庫調用
- 17. 使異步查詢同步
- 18. 使用Twisted API進行Python SDK的異步N1QL couchbase查詢
- 19. 使用節點js進行2個異步查詢
- 20. 如何在Julia中使用回調進行異步Web查詢?
- 21. 使用查詢進行監控的數據庫負載或性能數據庫使用查詢
- 22. C#+數據庫 - 從柱,使用INT作爲查詢檢索行數據
- 23. 在任務中進行異步/等待數據庫調用?
- 24. 如何進行異步鑄鐵數據庫調用?
- 25. 使用SQL數據讀取器進行參數化查詢C#
- 26. 執行sqlite查詢異步
- 27. 使用WF 4.0查詢數據庫活動
- 28. 使用php創建異步數據庫
- 29. 使用EventMachine異步數據庫訪問
- 30. 異步使用MySQL數據庫
我需要一種方法,我可以在.net 4.0中異步使用上述方法 –
如果你的意思是你想用'async'關鍵字來使用它們,你可以使用上面的答案來獲得關鍵字本身的支持。 NET 4.0,然後使用TaskFactory.FromAsync方法系列從BeginExecute/EndExecute方法對中獲取一個可等待的Task。不過,你仍然必須取消舊的方式。 – cynic
是的但我認爲運行SQL查詢不會以異步模式運行只有.Net代碼將以異步模式運行。一旦轉換到SQL Server,SQL Server將以同步模式運行它。這是我認爲的 –