已经有些日子没学习新知识了,心血来潮想试试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();
先写这么多,有时间再补充