C# 异步编程

在.net Core中,微软提供了async以及await,可以使我们很轻松的编写异步代码,并且async和await要同时使用。减少对服务器的访问次数,不要将不需要的数据提前拿出来。

编写异步方法应该注意的点:

1.方法名应该是 async Task 而非 async void.

总结一句话就是:void的异步方法发生异常时,开发者得不到任何通知,程序既不会触发普通的异常处理程序,也不会把这些异常记录下来。总之,这会让相关的线程默默的终止掉。但Task会汇报异常信息。

2.不要混合使用阻塞代码和异步代码

3.不要把同步方法与异步方法组合起来使用(尽量不用Wait()以及.result这些阻塞式的方法),.result会阻塞其他方法的调用,只有当前方法执行完,才会执行下面的方法。对于await来说,当主方法调用的方法中有await,就先执行await代表的方法,顺便返回主方法去执行其他方法,await执行完在执行下面的方法。

4.尽量异步执行I/O操作

相关推荐
Armyyyyy丶1 小时前
Sentinel原理之责任链详解
java·sentinel·熔断限流
胡萝卜的兔1 小时前
go语言标准库学习, fmt标准输出,Time 时间,Flag,Log日志,Strconv
开发语言·学习·golang
杨超越luckly2 小时前
HTML应用指南:利用GET请求获取全国Apple Store 零售店位置信息
大数据·前端·arcgis·html·数据可视化·门店
wjs20242 小时前
HTML DOM 访问
开发语言
●VON3 小时前
重生之我在暑假学习微服务第十一天《配置篇》+网关篇错误订正
java·学习·微服务·云原生·暑假
adminwolf4 小时前
基于Vue.js和Golang构建高效在线客服系统:前端实现与后端交互详解
前端·vue.js·golang
二哈喇子!5 小时前
Vue3生命周期
前端·javascript·vue.js
枫景Maple6 小时前
C#字典Dictionary的内部实现原理
开发语言·c#
跟我聊天我会闯红灯7 小时前
如何开发一个运行在windows系统服务器上的服务
运维·服务器·windows