09 2020 档案
摘要:#介绍: Dapper.Common是基于Dapper的Lambda扩展,遵循Linq语法规则,上手快,支持Mysql,Sqlserver(目前只实现了这两个数据,实现其他数据库也很轻松),支持单表,多表,自定义函数等功能。 开源地址:https://github.com/1448376744/Da
阅读全文
摘要:API 版本控制可以采用不同的方式进行控制: (1)在 URL 中追加版本或作为查询字符串参数, (2)通过自定义标头和通过接受标头 在这篇文章中, 让我们来看看如何支持多个版本的 ASP.NET Core Web API。 一、创建asp.net core webapi 项目,引用NuGet包:I
阅读全文
摘要:Pod介绍: 自主式Pod:不被控制器管理的Pod,一旦死亡不能重启 控制器管理的Pod Pod的生命周期: Pause容器: 当一个Pod被创建,Pause是第一个启动的容器,负责网络和数据卷初始化,我们不能操作 每个Pod中有一个容器pause,其他容器共用这个容器的网络和存储卷,所以Pod中的
阅读全文
摘要:创建容器默认使用docker0网络,我们创建一个自定义网络 docker0的特点是容器之间只能通过ip访问,不能通过容器名访问,除非使用--link。自定义网络可以通过容器名访问 单向通信 --link 网络模式 bridge:使用桥接方式连接网络(默认) none:不配置网络 host:和主机共享
阅读全文
摘要:mysqldump 介绍 mysqldump 是 MySQL 自带的逻辑备份工具。 它的备份原理是通过协议连接到 MySQL 数据库,将需要备份的数据查询出来,将查询出的数据转换成对应的insert 语句,当我们需要还原这些数据时,只要执行这些 insert 语句,即可将对应的数据还原。 选项 实例
阅读全文
摘要:介绍 INFORMATION_SCHEMA提供了访问数据库元数据的方式。 元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。 有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。 操作: 删除mysql数据库某一张主键表的所有外键关系 SELECT CONCAT('a
阅读全文
摘要:如果你的任务是需要基于日历每天定时运行,那你就应该使用计划任务触发器,例如每周五中午12:00执行任务,或者每天早上9点执行任务。 Cron表达式: 计划任务表达式是一个字符串,它又7个子字符串组合而成,这7个子字符串有空格符间隔,分别表示计划任务触发时间的7个部分 第一位 – 触发时间的秒数 第二
阅读全文
摘要:触发器分为:简单触发器(Simple Trigger)、触发器(Cron Trigger),一个触发器只能绑定一个任务 通用触发器属性: JobKey – 当前触发器绑定任务的唯一标识符 StartTimeUtc – 触发器的生效开始时间 EndTimeUtc – 触发器的生效结束时间 触发器优先级
阅读全文
摘要:用于将Type和Type名称相互转化 public class TypeNameSerializer { private readonly ConcurrentDictionary<Type, string> serializedTypes = new ConcurrentDictionary<Ty
阅读全文
摘要:Demo1、可以当做缓存的key使用 当需要一组参数的值作为缓存key,通常会使用如下方式: string keyName = arg1+"_"+arg2+"_"+arg3; 此时可以使用struct作为缓存key,只要struct所有属性相同,就会被认为是相同值。不再需要自己拼接缓存key str
阅读全文
摘要:String类型 Api (1).StringSet:写入数据,如果数据已经存在,则覆盖;可以一次性存入1个key-value,也可以一次性存入多个Key-value集合,并且可以设置其过期时间。 (2).StringGet:读取数据,可以一次性读取一个key的value,也可以一次性读取多个key
阅读全文
摘要:简介 在ASP.NET 4.X中,我们通常使用 log4net, NLog 等来记录日志,但是当我们引用的一些第三方类库使用不同的日志框架时,就比较混乱了。而在 ASP.Net Core 中内置了日志系统,并提供了一个统一的日志接口,ASP.Net Core 系统以及其它第三方类库等都使用这个日志接
阅读全文
摘要:Quartz.net: 定时执行框架,几乎可以执行所有触发器类型的定时任务,非常灵活。 基本概念: IScheduler:任务调度器,相当于一个大的容器。调度器通常在应用程序启动时创建,一个应用程序实例通常只需要一个调度器即可。 IJob:工作 Trigger:触发器,job和trigger的关系是
阅读全文
摘要:# 连接对象ConnectionMultiplexer `ConnectionMultiplexer`是`StackExchange.Redis`的核心对象,`ConnectionMultiplexer` 应被多个调用之间共享使用。不需要为每个操作创建一个 `ConnectionMultiplexe
阅读全文
摘要:Assert做什么? Assert基于代码的返回值、对象的最终状态、事件是否发生等情况来评估测试的结果。Assert的结果可能是Pass或者Fail。如果所有的asserts都pass了,那么整个测试就pass了;如果有任何assert fail了,那么测试就fail了。 xUnit提供了以下类型的
阅读全文
摘要:步骤: 创建Xunit测试项目 运行测试项目后,菜单栏会出现“测试”,测试-窗口-测试资源管理器 进入测试资源管理器后,点击全部运行即可 测试方法属性标签: Fact: [Fact]用于无参测试方法 [Fact] public void FailingTest() { Assert.Equal(5,
阅读全文
摘要:简介 Async/Await在.Net Core中真的是无处不在,到处都是异步操作,那为什么要用?有什么作用?别人说能提升性能? async/await可以让我们写出和同步代码一样简洁的异步代码 这里从理论,实践,原理一个个解开这些疑问。 语法 async关键字必须在返回类型之前,async修饰的方
阅读全文
摘要:https://www.cnblogs.com/-wenli/p/13047059.html
阅读全文
摘要:EasyNetQ是一个由小组件组成的库。当你写如下代码: var bus = RabbitHutch.CreateBus("host=localhost"); 静态方法CreateBus通过IoC容器组装这些组件,CreateBus的一个重载允许你访问组件注册,这样您就可以提供您自己版本的EasyN
阅读全文
摘要:EasyNetQ的使命是为基于RabbitMQ的消息传递提供最简单的API。 核心IBus接口有意避免公开AMQP概念,如交换,绑定和队列,而是实现基于消息类型的默认交换绑定队列拓扑。 对于某些场景,能够配置您自己的exchange绑定队列拓扑是很有用的;高级EasyNetQ API允许您这样做。高
阅读全文
摘要:随着SOA、微服务、CQRS的盛行,EventBus越来越流行,上GitHub搜了一下,还是有蛮多的这类实现,老牌的有NServiceBus(收费)、MassTransit,最近的有CAP(国人写的,1.4k个Star,非常不错)、ReBus(张队长在NanoFabric中推荐的)、RawRabbi
阅读全文
摘要:Request/Response模式 介绍 EasyNetQ也支持Request/Response这种方式的消息模式。适合在client/Server应用中执行,客户端发送一个请求到服务器,服务器然后处理请求后返回一个响应。和传统的RPC机制不同,EasyNetQ request/response操
阅读全文
摘要:介绍 EasyNetQ支持的最简单的消息模式是发布/订阅.这个模式是一个极好的方法用来解耦消息提供者和消费者。消息发布者只要简单的对世界说“这里有些事发生” 。它不关心有没有人监听,或者接收者是谁,或者接收者在那里。我们能够添加和移除特定类型的消息的订阅者,不需发布者做任何的重新配置。 假如你开始去
阅读全文
摘要:连接 //创建连接 var bus = RabbitHutch.CreateBus(“host=myServer;virtualHost=myVirtualHost;username=mike;password=topsecret”); //关闭连接 bus.Dispose(); 连接字符串说明 h
阅读全文
摘要:介绍 EasyNetQ是一个在RabbitMQ.Client类库之上提供服务的组件集合。做了这些事情,像序列化、错误处理、线程管理、连接管理等。通过一个Mini-Ioc容器组织在一起。你能很容易用你自己实现去替换这些组件。所以如果你喜欢用XML序列化而不是用JSON,仅仅需要以一个ISerializ
阅读全文
摘要:官方msdn地址介绍: https://docs.microsoft.com/zh-cn/dotnet/api/system.reflection.emit?view=netframework-4.8 https://docs.microsoft.com/zh-cn/dotnet/api/syste
阅读全文