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操作

相关推荐
广州华水科技10 小时前
2026年单北斗GNSS变形监测系统推荐,破解水库安全监测难题
前端
mounter62510 小时前
GCCRS 突破与 Rust 入核:Linux 工具链的重大变革
linux·开发语言·rust·linux kernel·kernel
Buke..10 小时前
【APP 逆向】哔哩哔哩 sign 参数逆向(上):Frida 反调试绕过与 unidbg 调用
java·开发语言·爬虫·python·安卓
竹枝溪10 小时前
Tomcat与Servlet全套小白教程
java·servlet·tomcat·cookie·filter·session·listener
怪侠_岭南一只猿11 小时前
[简单理解]小龙虾是怎么一回事?
运维·服务器·ai
海兰11 小时前
【应用】Wastnet 框架的 SSE (Server-Sent Events)从协议原理到实践指南
运维·服务器·人工智能
abcefg_h11 小时前
MCP 实战指南:如何在项目中使用 Model Context Protocol 及其通信原理
开发语言·后端·golang·mcp
独爱香菜11 小时前
Next.js 15 + Cloudflare Workers 实战:零中间件多语言 SEO 站点架构
前端
计算机魔术师11 小时前
DeepSeek、Qwen3比肩GPT-5,本地跑大模型的时代来了
前端
xcyxiner11 小时前
flutter wsl2安装记录(使用宿主机虚拟机)
前端·flutter