您的位置:首页 > 大数据 > 人工智能

如何在.net4.0中使用.net4.5的async/await实现异步

2016-01-23 23:21 633 查看

async/await异步功能简介

从4.0版本开始.NET引入并行编程库,用户能够通过这个库快捷的开发并行计算和并行任务处理的程序。在4.5版本中.NET又引入了Async和Await两个新的关键字,在语言层面对并行编程给予进一步的支持,使得用户能以一种简洁直观的方式实现并行编程。因为在很多文档里针对Async和Await这两个关键字的使用都被称为异步编程,为了更符合大众的阅读习惯,我们使用异步编程这个叫法,意思上和并行编程完全一样。

关于Async和Await异步编程的功能说明和使用介绍,MSDN上有详细文档,链接如下:

http://msdn.microsoft.com/en-us/library/vstudio/hh191443.aspx

其它地方也可以搜索到很多相关文章,这里就不再赘述,

Async和Await异步编程的原理

Async/Await 最佳实践

本文主要介绍的是如何在我们较早的.NET4.0版本使用Async/Await

Microsoft.Bcl.Async

微软发布了Microsoft.Bcl.Async的最终版本,参看博客Microsoft.Bcl.Async is Now Stable

以及官方网站

该包允许开发者在.NET 4、Silverlight 4和Windows Phone 7.5使用C# 5和VB中的异步特性。该包由三个库组成:Microsoft.Bcl、Microsoft.Bcl.Async和Microsoft.Bcl.Build。由于使用了程序集统一的方式,解决方案中的所有工程都必须引用这三个库

安装

我使用的是visual studio 2012, 使用uget来进行安装

打开Nuget,搜索async关键字,我们可以看到第一个就是我们需要的,点击安装即可



或者直接在PM命令中输入:

PM> Install-Package Microsoft.Bcl.Async



可能会碰到的问题:

出现编译异常

那需要你检查一下各项目中是否都有引用。由于使用了程序集统一的方式,解决方案中的所有工程都必须引用这三个库。

使用异常

如果异常信息是“Message : Could not load file or assembly ‘System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes’ or one of its dependencies. The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047)”,

那需要你去微软官网下载.net4.0的KB2468871补丁来安装。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息