.NET Framework 4.5中的异步特性增强

2012 年 4 月 12 日

有机会试过 Visual Studio 11 或者 Visual Studio Async CTP 的开发人员想必对 Visual Basic 和 C#中新的 Await 和 Async 关键字一定不陌生。最近,微软披露了.NET Framework 4.5 中一些新的变化细节,用于一步扩展异步编程的能力。

.NET 4.5 中编写异步代码已经可以信手拈来,它不再需要借助非常复杂的方法或回调。新的 async 任务结构在开发人员看来会非常熟悉,例如下面的例子展示了一个同步方法声明以及它对应的异步声明:

复制代码
'synchronous method
Private Function GetInfo(url As String) As Byte()
'asynchronous method
Private Async Function GetInfo(url As String) As Task(Of Byte())

异步方法返回的结果是一个任务;当 Await 调用作用于该任务时,方法会立刻暂停,并等到任务完成后恢复运行。虽然看起来结构很简单,但在实现异步代码时还得关注大量注意事项以避免降低性能。

除了C#和Visual Basic 语言的改动之外,.NET Framework 4.5 开发者预览版还增加了一批常用操作的异步方法。System.IO 目前包含了如ReadAsync、WriteAsync、CopyToAsync 和其他一些方法。System.Data.Common 和System.Data.SqlClient 中许多方法也有了相应的异步版本,如ExecuteQueryAsync、ExecuteScalarAsync 和ReadAsync。

ASP.NET 4.5 允许开发人员异步使用 HttpRequest.GetBufferlessInputStream,并引入 HttpTaskAsyncHandler 简化异步处理程序编写和任务使用。Windows Communication Foundation(WCF)和 Windows Presentation Foundation(WPF)也包含了新的异步特性。

想要开始学习.NET Framework 4.5 Beta 中的新的异步特性,可以访问 Visual Studio 异步编程站点。另外,该框架一方面作为 Visual Studio 11 的一部分发布,另一方面还可以通过 Async CTP for Visual Studio 2010 访问到它。

查看英文原文: New Asynchronous Features Enhance .NET Framework 4.5

2012 年 4 月 12 日 00:231807
用户头像

发布了 125 篇内容, 共 28.5 次阅读, 收获喜欢 2 次。

关注

评论

发布
暂无评论
发现更多内容

流水账

zack

编程能力 —— 寻路问题

wendraw

Java 前端进阶训练营 编程能力

30 张图带你分分钟看懂进程和线程基础知识全家桶

爱嘤嘤嘤斯坦

Java 线程 进程 进程线程区别

漫画通信:一图看懂通信发展史

巨侠说

编程能力 —— 解析表达式

wendraw

Java 前端进阶训练营 编程能力

区块链+高考,让世界再无冒名顶替

CECBC区块链专委会

DDD实施过程中的点滴思考

Winfield

领域驱动设计 DDD

【写作群星榜】6.27~7.10 写作平台优秀作者 & 文章排名

InfoQ写作平台

写作平台 排行榜

Java集合总结,从源码到并发一路狂飙

给你买橘子

Java 编程 算法 集合

LR.Net平台研发轶事,每一个点都很难,但我们不将就

力软.net/java开发平台

C# .net 跨平台 框架开发

编程能力 —— 异步编程

wendraw

Java 前端进阶训练营 编程能力

利用 Python 爬取了 13966 条运维招聘信息,我得出了哪些结论?

JackTian

Python Linux 运维 数据分析 招聘

521我发誓读完本文,再也不会担心Spring配置类问题了

YourBatman

spring springboot @Configuration Spring配置类

啃碎并发(八):深入分析wait&notify原理 猿码架构

猿灯塔

数据结构与算法知识点总结

hiqian

5分钟上手部署!!!

清风

Java Spring Boot

亚马逊:让创新科技成为重启世界的新动能

爱极客侠

SpringBoot入门:01 - 配置数据源

封不羁

Java spring springboot

终于有人把Elasticsearch架构原理讲明白了,感觉之前看的都是渣

爱嘤嘤嘤斯坦

Java elasticsearch 编程 架构

积极支持EdgeX发展,英特尔为2020 EdgeX中国挑战赛获奖队伍创造广阔合作空间

飞天鱼2017

Java 后端博客系统文章系统——No2

猿灯塔

肖风:数据要素市场与分布式AI平台

CECBC区块链专委会

Docker基础修炼3--Docker容器及常用命令

黑马腾云

Docker Linux 命令 容器技术

实验室里的AI激情:腾讯优图的升级修炼之路

脑极体

HTTP/2 总结

guoguo 👻

16种设计思想 - Design for failure

Man

Java 微服务 设计原则

领域驱动设计(DDD)实践之路(一)

vivo互联网技术

架构 领域驱动设计 DDD

最大的 String 字符长度是多少?

武培轩

Java 源码 后端 JVM

【Java虚拟机】垃圾收集器与内存分配

烫烫烫个喵啊

Java Java虚拟机

微服务架构下分布式事务解决方案

Arthur

创业使人成长系列 (2)- 散伙协议

石云升

创业 股权 合伙人 散伙协议

.NET Framework 4.5中的异步特性增强-InfoQ