2023
03-28
03-28
运用.net core中实例讲解RabbitMQ
目录一、RabbitMQ简介(1) AMQP协议(2)AMQP专业术语(3)RabbitMQ整体架构二、安装RabbitMQ三、RabbitMQ六种队列模式在.NetCore中使用(1)简单队列(2)工作队列模式(3)发布订阅模式(4)路由模式(推荐使用)(5)主题模式(6)RPC模式总结一、RabbitMQ简介是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同的应用之间共享数据,RabbitMQ是使用Erlang(高并发语言)语言来编写的,并且RabbitMQ是基于AMQP协议的。(1) AMQ...
继续阅读 >
目录一、IPooledObjectPolicy<T>二、ObjectPool<T>DefaultObjectPool<T>DisposableObjectPool<T>三、ObjectPoolProvider《编程篇》已经涉及到了对象池模型的大部分核心接口和类型。对象池模型其实是很简单的,不过其中有一些为了提升性能而刻意为之的实现细节倒是值得我们关注。总的来说,对象池模型由三个核心对象构成,它们分别是表示对象池的ObjectPool<T>对象、对象值提供者的ObjectPoolProvider对象,已及控制池化对象创建与...
目录一、对象的借与还二、依赖注入三、池化对象策略四、对象池的大小五、对象的释放借助于有效的自动化垃圾回收机制,.NET让开发人员不在关心对象的生命周期,但实际上很多性能问题都来源于GC。并不说.NET的GC有什么问题,而是对象生命周期的跟踪和管理本身是需要成本的,不论交给应用还是框架来做,都会对性能造成影响。在一些对性能比较敏感的应用中,我们可以通过对象复用的方式避免垃圾对象的产生,进而避免GC因对象回收导致的...
目录一:背景1.讲故事2.什么是句柄二:windbg分析1.看问题表象2.查看句柄表3.从托管堆找OverlappedData的徒孙辈4.寻找最终答案三:总结一:背景1.讲故事上上周有位朋友找到我,说他的程序CPU和句柄都在不断的增长,无回头趋势,查了好些天也没什么进展,特加wx寻求帮助,截图如下:看的出来这位朋友也是非常郁闷,出问题还出两个,气人哈,关于cpu爆高的问题我准备单独用一篇文章去侦读,这篇就先聊聊句柄泄漏的问...
1.negut引入hangfire相关包Hangfire.AspNetCore,Hangfire.Core,Hangfire.Dashboard.BasicAuthorization,Hangfire.MySqlStorage2.Appsetting配置hangfire资源"HangFire":{"Connection":"Server=127.0.0.1;uid=root;pwd=wakamysql666;database=Hangfire_DB;AllowLoadLocalInfile=true;AllowUserVariables=True;","pathMatch":"/hangfire","Login":"login","PasswordClear":"pwd"},3.自定义扩展类///<s...
NLog记录日志是微软官方推荐使用。接下来,通过配置日志记录到文件和SqlServer数据库。第一步:首先添加包NLog.Config(可通过微软添加包命令Install-Package包名进行添加,也可以通过管理NuGet程序包进行添加),添加成功后会生成NLog.config配置文件。并对该配置文件进行配置。详细配置可参考Git上NLog说明。一下是我个人配置。<?xmlversion="1.0"encoding="utf-8"?><nlogxmlns="http://www.nlog-project.or...
前言在.NET5之前,当授权失败即403时无法很友好的自定义错误信息,以致于比如利用Vue获取到的是空响应,不能很好的处理实际业务,同时涉及到权限粒度控制到控制器、Action,也不能很好的获取对应路由信息。本文我们来看看在.NET5中为何要出现针对授权失败的中间件接口?它是如何一步步衍生出来的呢?以及对于授权失败根据实际需要如何自定义响应错误,以及如何获取对应路由信息等等授权失败自定义响应信息如下是在.NET5之前,对...
今天,我们很高兴向你介绍VisualStudio2019中16.11(预览版1)中的.NET热重载(通过.NET6(预览版4)中的dotnetwatch命令行工具)。在这篇文章的其余部分,我们会介绍什么是.NET热重载,您如何开始使用这个特性,我们对未来计划改进的设想,以及目前支持哪种编辑和语言的明确性。今天,我们很高兴向你介绍VisualStudio2019中16.11(预览版1)中的.NET热重载(通过.NET6(预览版4)中的dotnetwatch命...
目录项目创建方案演示.NetCore自带DI不同的特性批量注入属性注入存储并提取容器实例为什么叫浅谈呢?就是字面上的意思,讲得比较浅,又不是不能用(这样是不对的)!!!Aufofac大家都不陌生了,说是.Net生态下最优秀的IOC框架那是一点都过分。用的人多了,使用教程也十分丰富,官网教程也比较详细(如果英文功底还不错的话)。那我为什么还要写这样一篇博客呢,一是用作学习笔记,二就是闲的。废话不多说,开始正文项目创建云创...