抽一根烟的时间学会.NET Core 操作RabbitMQ
什么是RabbitMQ? RabbitMQ是由erlang语言开发的一个基于AMQP(Advanced Message Queuing Protocol)协议的企业级消息队列中间件。可实现队列,订阅/发布,路由,通配符等工作模式。 为什么要使用RabbitMQ? 异步处理:比如发送邮件,发送短信等不 ... »
什么是RabbitMQ? RabbitMQ是由erlang语言开发的一个基于AMQP(Advanced Message Queuing Protocol)协议的企业级消息队列中间件。可实现队列,订阅/发布,路由,通配符等工作模式。 为什么要使用RabbitMQ? 异步处理:比如发送邮件,发送短信等不 ... »
最近在做一个项目,用到了大量的非托管技术,所以垃圾回收变得很重要。 在说垃圾回收之前,先说说两个概念: 托管代码,是由CLR管理的代码 非托管代码,是由操作系统直接执行的代码 在早期C++的时候,内存分配和释放都是由我们手动处理的,而在公共语言进行时CLR中,多了一个垃圾收集器GC,来充当自动内存管 ... »
AOP +FreeSql 跨方法异步事务 Autofac.Extensions.DependencyInjection Autofac.Extras.DynamicProxy Castle.Core.AsyncInterceptor(异步方法AOP拦截) ###源码 https://github.c ... »
前言 TypedocConverter 是我先前因帮助维护 monaco-editor-uwp 但苦于 monaco editor 的 API 实在太多,手写 C# 的类型绑定十分不划算而发起的一个项目。 这个工具可以将 typedoc 根据 TypeScript 生成的 JSON 文件直接生成对应 ... »
全文 没有视频的介绍显得尤为空白仓促。所以,如果你不赶时间,看看视频先 → → http://wexin.fuyue.xyz/Resource/Video/wechatTool.mp4 ← ← 功能列表 本微信助手工具目前已经实现如下功能: 接收微信好友消息 接收微信群组消息 回复微信好友消息 回复 ... »
前言 在实际的.Net Core相关项目开发中,很多人都会把NLog作为日志框架的首选,主要是源于它的强大和它的扩展性。同时很多时候我们需要集中式的采集日志,这时候仅仅使用NLog是不够的,NLog主要是负责代码中日志的落地,也就是收集程序中的日志。类似的使用ELK(Elasticsearch+Lo ... »
前言 2021 年 2 月 17 日微软发布了 .NET 6 的 Preview 1 版本,那么来看看都有什么新特性和改进吧,由于内容太多了因此只介绍一些较为重点的项目。 统一和扩展 .NET 6 在 .NET 5 的统一的基础之上,继续借助 Xamarin 扩展到 Android、iOS 和 ma ... »
.NET Framework时代,.NET 应用程序大多直接部署运行在Windows服务器上,当然也可以通过Mono部署运行在Linux上。无论部署exe,还是IIS站点、或是Windows Service,编译后的程序直接copy、简单配置部署上即可。 有了.NET Core之后,.NET应用程序 ... »
> 过年啦,写个短点的。同时,提前给大家拜个年。   总有小伙伴们跑过来讨论关于Span和Memory的使用,眼瞅是最近关于Span的文章有点多,看飞了。 今天写这个,就是往回拉一拉。 写之前,先声明一下。这些内容是我自己使用的一些经验,并不代表这些类的全部内容就是这些,只是说,我是这么用 ... »
前言 以前需要提供Web服务接口的时候,除了标准的WEBAPI形式,还考虑了OData、GraphQL等形式,虽然实现思路上有很大的区别,但对使用方来说,都是将查询的主动权让渡给了前端,让调用方能够更加自由地发挥或者符合自己要求的数据。其中,OData作为传统REST WEBAPI的拓展,对外还是W ... »
互联网热潮下,“微服务”技术架构成为了一种高大上的技术,其顾名思义就是将传统的大的业务服务拆分成独立的小服务,当拆分的服务慢慢多起来的时候,我们会发现服务地址很难管理,传统的方式一般会通过配置文件或者数据库存储,这种手动的维护的方式显然不够灵活,如果某个服务挂了,系统得不到及时的通知,只能等维护人员 ... »
开源地址: https://github.com/EasyAbp/Abp.SettingUi 一直想宣传一下SettingUi, 因为 懒 工作比较忙, 所以才拖到今天. 关于ABP就不需要我再多废口舌了, 已经是一个非常出名的.NET Core的框架, 在国内也已经有很多企业在正式项目中广泛使用了 ... »
当编写应用程序时,经常性需要花费大量的时间与精力处理业务逻辑,往往业务逻辑的变化需要重构或者增加大量代码,对开发测试人员很不友好。 之前在这篇文章说过,可以使用脚本引擎来将我们需要经常变化的代码进行动态编译执行,自由度非常大,不过对应的需要资源也多。如果只是针对非常具体业务逻辑的变化,可以尝试使用R ... »
一、创建Redis服务 运行环境是Window,安装Redis请看:安装教程。 直接开始创建Redis服务,演示就创建两个一主一从,先把安装路径下的 redis.windows.conf 文件复制一份重命名并更改端口号为6380, 并且把文件中的bind字段注释,protected-mode设置为n ... »
OpenIDConnect是一个身份验证服务,而Oauth2.0是一个授权框架,在前面几篇文章里通过IdentityServer4实现了基于Oauth2.0的客户端证书(Client_Credentials)、用户名密码(Password)的授权流程,同时也实现OpenIDConnect的授权码(A ... »
上一篇说了一下委托,这篇来说说局部函数和委托的对比。 把委托和局部函数放成前后篇,是因为这两个内容很像,用起来容易混。 需要了解委托相关内容,可以看这一篇 【传送门】 使用委托表达式(Lambda) 假设一个场景:我们有一个订单列表,里面有售价和采购价。我们需要计算所有物品的毛利率。 public ... »
本文属于OData系列 目录 武装你的WEBAPI-OData入门 武装你的WEBAPI-OData便捷查询 武装你的WEBAPI-OData分页查询 武装你的WEBAPI-OData资源更新Delta 武装你的WEBAPI-OData之EDM 武装你的WEBAPI-OData使用Endpoint ... »
asp.net core集成了非常方便的数据绑定和数据校验机制,配合操作各种easy的vs,效率直接高到飞起。 通过自定义验证特性(Custom Validation Attribute)可以实现对于数据校验规则的极大扩展。 最近在写前后端自定义验证的时候,尝试换了一种思路,这里做简单记录: > 一 ... »
上一篇文章实现了IdentityServer4与Asp.net core Identity的集成,可以使用通过identity注册功能添加的用户,以Password的方式获取Access token,但是无论是Client Credentials还是Password流程它都是OAuth2.0的流程, ... »
前面的文章使用Asp.net core 5.0以及IdentityServer4搭建了一个基础的验证服务器,并实现了基于客户端证书的Oauth2.0授权流程,以及通过access token访问被保护资源,本文将继续完善IdentityServer实现与Identity组件的集成,可使用Identi ... »