![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
.net
文章平均质量分 91
程序员张小妍
相信相信的力量,努力做好自己!
展开
-
一文说清Task及其调度问题
值得一提的是,Debug和Release模式编译出来的代码是不同的,下面给出的是Release模式下的编译结果,上述的状态机体现为生成的<<Main>$>d__0这个结构体。它的实现其实很简单:如果个方法出现了N个await关键字,它们相当于将整个方法的执行流程切割成N+1段,状态机的状态体现为当前应该执行那段,具体的执行体现在MoveNext方法上。为了方便后面的演示,我们还定义了一个静态的Run方法,该方法会将指定的Action对象封装成Job,并调用Start方法利用默认的调度器进行调度。原创 2023-06-06 07:22:49 · 737 阅读 · 2 评论 -
如何让Task在非线程池线程中执行?
其实很好理解,由于原来返回void的Run方法被替换成了返回Task的RunAsync,传入StartNew方法表示执行操作的委托类型从Action切换成了Func<Task>,虽然我们指定了LongRunning选项,但是StartNew方法只是采用这种模式执行Func<Task>这个委托对象而已,而这个委托在遇到await的时候就返回了。实际上对于我们的当前的应用场景,调用Wait方法才是正确的选择,因为我们的初衷就是使用一个独立的线程以独占的方式来执行后台操作。一、基于线程池的调度。原创 2023-05-29 10:04:01 · 676 阅读 · 0 评论 -
Dapper in .Net Core
一、前言 关于什么是Dapper,在此不做赘述;本文仅对Dapper在.Net Core中的使用作扼要说明,所陈代码以示例讲解为主,乃抛砖引玉,开发者可根据自身需要进行扩展和调整;其中如有疏漏之处,望不吝斧正。二、Dapper环境搭建当前以.Net Core WebAPI或MVC项目为例,框架版本为.NET 5.0,相关NuGet包引用如下:Install-Package DapperInstall-Package Dapper.ContribInstall-Package Dap转载 2022-01-10 08:49:06 · 507 阅读 · 0 评论 -
.NET 6 中的 dotnet monitor
一、什么是 dotnet monitor在不同的环境中运行 .NET 应用程序可能会使收集诊断信息(例如日志、跟踪、dump)变得困难。dotnet monitor 是一种工具,它提供了一种统一的方法来收集这些诊断信息,而不管您是在桌面计算机(desktop machine 可理解为我们日常使用的电脑)还是在 kubernetes 集群中运行。收集这些诊断信息有两种不同的机制:按需收集诊断信息的HTTP API。当您的应用程序遇到问题并且想收集更多信息时,可以调用这些 HTTP API。 基.转载 2021-12-14 12:46:04 · 408 阅读 · 1 评论