摘要: 起因 最近有个小伙伴提出了一个问题,就是在使用.net core的BackgroundService的时候,对应的ExecuteAsync方法里面写如下代码,会使程序一直卡在当前方法,不会继续执行,代码如下: public class BGService : BackgroundService { 阅读全文
posted @ 2022-04-28 11:16 SnailZz 阅读(1825) 评论(11) 推荐(11) 编辑
摘要: ##前言 前段时间看到有大佬对.net 6.0新出的PriorityQueue(优先级队列)数据结构做了解析,但是没有源码分析,所以本着探究源码的心态,看了看并分享出来。它不像普通队列先进先出(FIFO),而是根据优先级出队。 ps:读者多注意代码的注释。 ##D叉树的认识(d-ary heap) 阅读全文
posted @ 2021-12-30 10:15 SnailZz 阅读(1025) 评论(2) 推荐(3) 编辑
摘要: #前言 其实Grpc拦截器是我以前研究过,但是我看网上相关C#版本的源码解析相对少一点,所以笔者借这篇文章给大家分享下Grpc拦截器的实现,废话不多说,直接开讲(Grpc的源码看着很方便,包自动都能还原成功。.Net源码就硬生啃。。。弄了半天没还原成功😂)。 ps: 本篇文章主要是讲解源码,并不进 阅读全文
posted @ 2021-09-17 10:08 SnailZz 阅读(3222) 评论(0) 推荐(3) 编辑
摘要: #前言 本篇文章着重讲一下在.Net中Host主机的构建过程,依旧延续之前文章的思路,着重讲解其源码,如果有不知道有哪些用法的同学可以点击这里,废话不多说,咱们直接进入正题 #Host构建过程 下图是我自己整理的Host构建过程以及里面包含的知识点我都以链接的形式放上来,大家可以看下图,大概了解下过 阅读全文
posted @ 2021-09-10 09:56 SnailZz 阅读(3035) 评论(21) 推荐(23) 编辑
摘要: #前言 本篇继续之前的思路,不注重用法,如果还不知道有哪些用法的小伙伴,可以点击这里,微软文档说的很详细,在阅读本篇文章前,还是希望你对中间件有大致的了解,这样你读起来可能更加能够意会到意思。废话不多说,咱们进入正题(ps:读者要注意关注源码的注释哦😜)。 #Middleware类之间的关系 下图 阅读全文
posted @ 2021-09-03 11:10 SnailZz 阅读(834) 评论(0) 推荐(3) 编辑
摘要: #前言 笔者的这篇文章和上篇文章思路一样,不注重依赖注入的使用方法,更加注重源码的实现,我尽量的表达清楚内容,让读者能够真正的学到东西。如果有不太清楚依赖注入是什么或怎么在.Net项目中使用的话,请点击这里,这是微软的官方文档,把用法介绍的很清晰了,相信你会有很大收获。那么废话不多说,咱们进入正题( 阅读全文
posted @ 2021-08-31 11:54 SnailZz 阅读(514) 评论(0) 推荐(10) 编辑
摘要: #前言 关于IConfituration的使用,我觉得大部分人都已经比较熟悉了,如果不熟悉的可以看这里。因为本篇不准备讲IConfiguration都是怎么使用的,但是在源码部分的解读,网上资源相对少一点,所以本篇准备着重源码这一块的设计,尽量的让读者能够理解它的内部实现。 #IConfigurat 阅读全文
posted @ 2021-08-16 11:47 SnailZz 阅读(1009) 评论(2) 推荐(4) 编辑
摘要: 原理 默认按照从小到大的排序规则。 每次取中位坐标,将比中位坐标对应数字大的部分放右边,小的部分放左边。 然后再分别比较左边和右边的部分,按照2的规则。 直到没有办法再分左边和右边,说明比较完成。 图示 代码演示 public static void Sort(int[] array, int le 阅读全文
posted @ 2020-09-18 16:36 SnailZz 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 引言 Dictionary在C#中算是比较常用的数据结构了,它的读取速度很快,效率很高。以前没有怎么看它的源码实现,前几天看了看它的源码实现,还是有点意思的,下面我将逐步说下它的实现原理。 数据结构 它是通过Hash Bucket和链表形成的数据结构,将一份数据分为多个链表,且每个链表都对应它的Bu 阅读全文
posted @ 2020-09-04 13:27 SnailZz 阅读(661) 评论(0) 推荐(0) 编辑
摘要: 在.net core webapi中,默认响应的json数据是以驼峰显示的,即首字母小写的方式。如果让其正常显示,只需要在全局配置即可。代码如下图: 配置之后,响应数据就不会再以驼峰的形式展示了。而是以定义的model的字段原样输出。 阅读全文
posted @ 2020-07-03 14:30 SnailZz 阅读(808) 评论(0) 推荐(0) 编辑