摘要: 在上一篇文章《使用.NET Core快速开发一个较正规的命令行应用程序》中我们看到了使用自包含方式发布的.NET Core应用中包含了216个文件。我就写一个cat命令用得着这么动真格。。。这写出来的命令行还有人用吗?今天我们就来介绍一下MS的另一个开源项目CoreRT。用来解决这个棘手的问题。什么是CoreRT?CoreRT 是MS一个长期开源项目,它早在一年前就已经建立了,持续到今。项目目标将...阅读全文
posted @ 2018-03-23 14:57 KAnts 阅读(1209) 评论(19) 编辑
摘要: 程序员的世界,命令行工具一直是“体验非常友好”的工具,也能自动化完成很多事情,同时还能结合shell来进行某项任务的批处理(脚本)。在.NET Core中,命令行应用程序是基础,但是如何实现像 “cat” 这种功能呢?今天就为大家介绍一个packages来优雅的实现一个命令行应用程序。一般命令行程序包含什么?使用方式帮助信息子命令参数选项帮助信息帮助信息如上,介绍了命令的作用和参数、选项作用。这个...阅读全文
posted @ 2018-03-21 11:23 KAnts 阅读(1389) 评论(7) 编辑
摘要: 说起Golang(后面统称为Go),就想到他的高并发特性,在深入一些就是 Goroutine。在大家被它优雅的语法和简洁的代码实现的高并发程序所折服时,其实C#/.NET也可以很容易的做到。今天我们来参照Go,来用C#实现它所采用的的CSP并发模型。CSP(Communicating sequential processes)这东西我一开始以为很简单,后面差了资料发现它独树一帜,自己是一门语言,也...阅读全文
posted @ 2018-03-19 14:43 KAnts 阅读(6048) 评论(35) 编辑
摘要: Exceptionless是一个非常优秀的事件记录服务,目前我们的自部署的Exceptionless已经稳定运行了近一年的时间,收集了千万条事件信息。但Exceptionless官方自宿主部署的文档不是非常详细(不知道是不是为了保证云订阅)。今天就来详细介绍下用于生成环境的Exceptionless部署事项。Exceptionless简介Exceptionless从翻译来看是无异常的意思,其实它收...阅读全文
posted @ 2018-03-16 14:11 KAnts 阅读(700) 评论(8) 编辑
摘要: 翻出了之前记录的笔记,基本涵盖了.NET中线程和异步的相关概念。可以提供一个学习的方向。线程类型工作者线程IO线程线程池全局队列(QueueUserWorkItem、Timer总是放入全局)本地队列工作者线程调度流程如果本地队列有任务,则调度本地队列如果本地队列没有任务则去其它工作者线程中调度如果所有工作者线程本地队列都没有任务则去全局队列取任务调度如果全局队列也没有任务则睡眠等待如果睡眠了太长时...阅读全文
posted @ 2018-03-13 11:56 KAnts 阅读(1074) 评论(2) 编辑
摘要: 在上一篇“《拥抱.NET Core系列:MemoryCache 缓存选项》”我们介绍了一些 MSCache 的机制,今天我们来介绍一下 MSCache 中的缓存域。 MSCache项目 MSCache 目前最新的正式版是 2.0.0,预览版是2.1.0,会与 .NETCore 2.1 一起发布。本篇阅读全文
posted @ 2018-03-09 11:57 KAnts 阅读(802) 评论(2) 编辑
摘要: 在上一篇 ”拥抱.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 阅读(1314) 评论(3) 编辑
摘要: 在上一篇”拥抱.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 阅读(1843) 评论(11) 编辑
摘要: Cache是一个绝大多数项目会用到的一个技术,说起到缓存可能就联想到 Set、Add、Get、Remove、Clear 这几个方法。那么在.NET Core中微软给我们带来了什么样的缓存体验呢?今天我们就来介绍下”Microsoft.Extensions.Caching.Memory”。由于这个包名称过长,下文使用MSCache来代替。MSCache能做什么?绝对过期支持滑动过期支持(指定一个时间...阅读全文
posted @ 2018-02-27 09:52 KAnts 阅读(3398) 评论(7) 编辑
摘要: 在做RabbitCloud(之前是一个RPC,现在是一个微服务框架)的时候往往避不开客户端代理,之前把这些客户端代理都算作服务框架不可缺少的一部分,随着后期的深入发现这些客户端代理其实可以互通,类似spring cloud 的 open fegin。 因为它们最终的行为就是构建一个message进行阅读全文
posted @ 2018-02-13 08:17 KAnts 阅读(2452) 评论(8) 编辑