c# – 等待.NET 4.0中的替代方法?

什么是.NET 4.0中的await关键字的最佳选择?我有一个方法需要在异步操作后返回一个值.我注意到wait()方法完全阻塞线程,从而使异步操作无效.在释放UI线程的同时,我可以选择运行异步操作吗?

解决方法

我认为你的基本选择是

>使用任务和.ContinueWith()
>使用Async CTP和异步/等待
>使用Reactive Extensions

最简单的方法可能是安装Async CTP.据我所知,许可允许商业使用.它补丁编译器,并附带一个150kb的DLL,您可以将其包含到您的项目中.

您可以使用Task和.ContinueWith().但是这意味着您必须花费一些精力来处理和流程控制.

任务是一个功能结构.这就是为什么ContinueWith()与循环或try-catch块之类的命令式构造不兼容.因此,异步等待着介绍,所以编译器可以帮助我们.

如果你不能支持编译器(即使用.Net 4.0),最好的办法是使用TAP功能框架. Reactive Extensions是处理异步方法的非常好的框架.

只要google为“反向扩展任务”开始.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...