我有.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将以同步模式运行它。这是我认为的 –