摘要: 翻出了之前记录的笔记,基本涵盖了.NET中线程和异步的相关概念。可以提供一个学习的方向。线程类型工作者线程IO线程线程池全局队列(QueueUserWorkItem、Timer总是放入全局)本地队列工作者线程调度流程如果本地队列有任务,则调度本地队列如果本地队列没有任务则去其它工作者线程中调度如果所有工作者线程本地队列都没有任务则去全局队列取任务调度如果全局队列也没有任务则睡眠等待如果睡眠了太长时... 阅读全文
posted @ 2018-03-13 11:56 KAnts 阅读(2060) 评论(2) 推荐(6) 编辑
摘要: 在上一篇“《拥抱.NET Core系列:MemoryCache 缓存选项》”我们介绍了一些 MSCache 的机制,今天我们来介绍一下 MSCache 中的缓存域。 MSCache项目 MSCache 目前最新的正式版是 2.0.0,预览版是2.1.0,会与 .NETCore 2.1 一起发布。本篇 阅读全文
posted @ 2018-03-09 11:57 KAnts 阅读(3391) 评论(3) 推荐(15) 编辑
摘要: 在上一篇 ”拥抱.NET Core系列:MemoryCache 缓存过期” 中我们详细的了解了缓存过期相关的内容,今天我们来介绍一下 MSCache 中的 Options,由此来介绍一些 MSCache 中的内部机制。MSCache项目MSCache 目前最新的正式版是 2.0.0,预览版是2.1.0,会与 .NETCore 2.1 一起发布。本篇用了2.0.0版本开源在 GitHub 上,仓库地... 阅读全文
posted @ 2018-03-08 10:31 KAnts 阅读(9028) 评论(8) 推荐(14) 编辑
摘要: 在上一篇”拥抱.NET Core系列:MemoryCache 初识”中我们基本了解了缓存的添加、删除、获取,那么今天我们来看看缓存的过期机制。这里和上篇一样将把“Microsoft.Extensions.Caching.Memory”简称为MSCache。MSCache项目MSCache目前最新的正式版是 2.0.0,预览版是2.1.0,会与.NETCore 2.1一起发布。本篇用了2.0.0版本... 阅读全文
posted @ 2018-02-28 10:24 KAnts 阅读(15698) 评论(14) 推荐(40) 编辑
摘要: Cache是一个绝大多数项目会用到的一个技术,说起到缓存可能就联想到 Set、Add、Get、Remove、Clear 这几个方法。那么在.NET Core中微软给我们带来了什么样的缓存体验呢?今天我们就来介绍下”Microsoft.Extensions.Caching.Memory”。由于这个包名称过长,下文使用MSCache来代替。MSCache能做什么?绝对过期支持滑动过期支持(指定一个时间... 阅读全文
posted @ 2018-02-27 09:52 KAnts 阅读(22958) 评论(8) 推荐(47) 编辑
摘要: 在做RabbitCloud(之前是一个RPC,现在是一个微服务框架)的时候往往避不开客户端代理,之前把这些客户端代理都算作服务框架不可缺少的一部分,随着后期的深入发现这些客户端代理其实可以互通,类似spring cloud 的 open fegin。 因为它们最终的行为就是构建一个message进行 阅读全文
posted @ 2018-02-13 08:17 KAnts 阅读(3777) 评论(9) 推荐(26) 编辑
摘要: 在开发“RabbitCloud”项目时,使用配置文件发现会有很多重复值,所以我基于”Microsoft.Extensions.Configuration”写了一个扩展库,来丰富对配置的支持。实际案例——“RabbitCloud”之前,我是这样的因为公司ip和家里机器的ip不一致,所以经常需要切换配置文件。但根据这份配置文件,我更改健康检查的主机和端口就意味着我得改三个地方,然而一般情况下这三个地方... 阅读全文
posted @ 2017-09-21 08:01 KAnts 阅读(6893) 评论(4) 推荐(10) 编辑
摘要: 在之前我们简单介绍了 .NET Core 中的 DI组件,没来及了解的童鞋可以翻翻我之前的文章。接下来会对 .NET Core 中的 Logging 进行介绍。本文中使用了“Microsoft.Extensions.Logging.Console”做为输出目标,后续文章会详解。Logging 中的三剑客可以看到 Logging 的核心抽象就是三个接口,分别是:ILogger:负责具体的日志写入逻辑... 阅读全文
posted @ 2017-07-14 08:13 KAnts 阅读(9569) 评论(6) 推荐(28) 编辑
摘要: 上一篇“拥抱.NET Core系列:依赖注入(1)”大体介绍了服务注册、获取和生命周期,这一篇来做一些补充。由于内容跨度大(.NET Core、ASP.NET Core),所以文章并不是非常的贯穿,大家可以挑着看。构造函数的选择如果一个服务中包含多个构造函数,.NET Core会选择哪一个呢?答案是:最大匹配的构造函数。我们来看个示例泛型服务单个泛型多个泛型集成第三方DI容器我们这边使用Autof... 阅读全文
posted @ 2017-07-11 07:25 KAnts 阅读(3951) 评论(3) 推荐(13) 编辑
摘要: 依赖注入时编程手段中解耦和封装的一个非常重要的手段,我本人已经到了没有DI无法编写项目的程度了,在.NET Framework中微软并没有在FCL中引入DI,虽然推出了“Unity”。而在.NET Core中DI几乎是所有组件的标配可见DI有多么的重要,本节主要简单介绍下微软在.NET Core中加入的DI组件。前言DIP、IoC、DI说起DI不得不提IoC这个模式,很多人会把DI和IoC混为一谈... 阅读全文
posted @ 2017-07-07 08:51 KAnts 阅读(8617) 评论(17) 推荐(43) 编辑