.net core 入坑经验 - 1、await async

已经有些日子没学习新知识了,心血来潮想试试core有多大变化和跨平台运行

所以现在就开始捣鼓,然而由于是从.net 4.0直接"跃升"到.net core 以及 asp.net mvc core。。发现变化真是太大了。

准备记录一系列的遇到的问题和变化,方便以后出问题快速查阅吧。

首先我要实现一个获取网页HTML的方法,问题来了。

我需要使用HttpWebRequest对象进行获取字符串流,而在获取的过程中发现该类已经不存在以前的GetRequestStream()方法了,而变为了GetRequestStreamAsync()。

从方法名字上看多了Async,也就是异步,很费解,为什么会搞的这么麻烦,同步方法就这样被干掉了???

 

通过检索相关资料得知await async 是由.net 4.5版本引入的新特性。

使用await 和 async 的方法:

在方法定义返回类型的前面增加async关键字表示该方法为异步方法。

而返回值必须是void 或者为Task<T>。T为返回值的类型,如返回字符串string则定义为Task<string>。

在调用被async修饰过的异步方法时可以使用await关键字变为同步方法,语法为调用前增加await关键字;string result = await loadString();

 

先写这么多,有时间再补充

 

posted @ 2017-05-04 22:40  jgjg2323  阅读(4748)  评论(2编辑  收藏  举报