前言 近期由于需要进行分布式链路跟踪系统的技术选型,所以一直在研究链路跟踪相关的框架。作为能在.Net Core中使用的APM,SkyWalking自然成为了首选。SkyAPM-dotnet是SkyWalking在.Net Core端的探针实现,其主要的收集日志的手段 ...
ArrayPool是一个抽象类,框架没有暴露具体实现类,只是通过ArrayPool类的静态方法创建或者获取一个ArrayPool类的实例,并且框架内部所有通过抽象类暴露接口的实现也都是线程安全的 ArrayPool类的作用相当于数组所有权转移的中间代理者,可以从池中租用一块大小不小于指定长度的数组,如果当前池中没有可用数组实例会自动创建一个,当使用完毕后可以将数组返还池中,池中有一个阈值,会自动放 ...
2020-10-09 18:37 0 456 推荐指数:
前言 近期由于需要进行分布式链路跟踪系统的技术选型,所以一直在研究链路跟踪相关的框架。作为能在.Net Core中使用的APM,SkyWalking自然成为了首选。SkyAPM-dotnet是SkyWalking在.Net Core端的探针实现,其主要的收集日志的手段 ...
.NET Core 3.0和C# 8.0最激动人心的特性之一就是IAsyncEnumerable<T>(也就是async流)。但它有什么特别之处呢?我们现在可以用它做哪些以前不可能做到的事? 在本文中,我们将了解IAsyncEnumerable<T>要解决哪些挑战,如何在 ...
一、 理解ServiceCollection之前先要熟悉几个概念:DIP、IOC、DI、Ioc容器; 二、 接下来先简单说一下几个概念问题: 1、DIP(依赖倒置原则):六大设计原则里面一种设计原则,它转换了依赖关系,高层模块不依赖于底层模块的实现,而低层模块 ...
最近项目有个新同事,每个API接口里返回的时间格式中都带T如:【2019-06-06T10:59:51.1860128+08:00】,其实这个主要是ASP.Net Core自带时间格式列化时间格式设置的,我们只需要替换序格式化时间格式就可以; 一、先建一个控制器测试 ...
定义 高性能托管数组缓冲池,可重复使用,用租用空间的方式代替重新分配数组空间的行为 好处 可以在频繁创建和销毁数组的情况下提高性能,减少垃圾回收器的压力 使用 获取缓冲池实例:Create/Shared var pool=ArrayPool[byte].Shared 调用缓冲池 ...
前言 如果需要使用相同的类型的多个对象,就可以使用集合和数组,这一节主要讲解数组,其中会重点涉及到Span<T>结构和ArrayPool数组池。我们也会先涉及到简单的数组、多维数组、锯齿数组、Array类。 简单的数组、多维数组、锯齿数组 简单的数组介绍 数组的声明 ...
参考文章: Unable to utilize UrlHelper 除了上面参考文章中介绍的方法,其实在ASP.NET Core MVC的Filter拦截器中要使用UrlHelper非常简单。如下代码就展示了如何在IActionFilter拦截器中构造和使用UrlHelper,其它MVC ...
前言 复用,是一个重要的话题,也是我们日常开发中经常遇到的,不可避免的问题。 举个最为简单,大家最为熟悉的例子,数据库连接池,就是复用数据库连接。 那么复用的意义在那里呢? 简单来说就是减少不必要的资源损耗。 除了数据库连接,可能在不同的情景或需求下,还会有很多其他对象需要进行复用 ...