.NET 高效灵活的API速率限制解决方案
前言
FireflySoft.RateLimit是基于.NET Core和.NET Standard构建,支持多种速率限制算法和策略,包括固定窗口、滑动窗口、漏桶、令牌桶等。通过简单的配置和集成,开发者可以快速地将其应用到现有的Web API、微服务或中间件中,实现对...[2024/6/25]
.NET使用CsvHelper快速读取和写入CSV文件
前言
在日常开发中使用CSV文件进行数据导入和导出、数据交换是非常常见的需求,今天我们来讲讲在.NET中如何使用CsvHelper这个开源库快速实现CSV文件读取和写入。
CsvHelper类库介绍
CsvHelper是一个.NET开源、快速、灵活、高度可配置、易于使用的用于读取和写入CSV文...[2024/6/25]
端口占用,无法通过netstat找到进程,占用的端口又不能修改,该怎么办?
最近遇到一个奇葩的问题,项目跑的好好的,没有安装其它特殊软件,突然服务器启动报错,日志如下,显然是服务器的8080端口占用了。
Caused by: java.net.BindException: Addre already in use: bind
at sun.nio.c...[2024/6/19]
XAF 属性编辑器(PropertyEditor)- 原理篇
前言
随着 DEV24.1.3 的发布,XAF Blazor 中的属性编辑器(PropertyEditor)也进行了很大的改动,在使用体验上也更接近 WinForm 了,由于进行了大量的封装,理解上没有 WinForm 直观,所以本文通过对属性编辑器的原理进行解析,并对比新旧版本中的变化,使大家...[2024/6/19]
零基础写框架(3): Serilog.NET 中的日志使用技巧
.NET 中的日志使用技巧
Serilog
Serilog 是 .NET 社区中使用最广泛的日志框架,所以笔者使用一个小节单独讲解使用方法。
示例项目在 Demo2.Console 中。
创建一个控制台程序,引入两个包:
Serilog.Sinks.Console
Serilog.Sink...[2024/6/19]
AgileConfig-1.9.4 发布,支持 OpenTelemetry
Hello 大家好,最新版的 AgileConfig 1.9.4 发布了。现在它可以通过 OpenTelemetry 对外提供 logs,traces,metrics 三个维度的数据。用户可以自由选择支持 otlp 协议的工具来进行查询与分析。比如 Seq,loki,prometheus, gr...[2024/6/19]
【踩坑】.NET 8.0 自定义IExceptionHandler不生效
中间件实现异常处理
在ASP.NET Core里,我们可以使用中间件(Middleware)实现全局的异常处理。 如内置的异常处理中间件 UseExceptionHandler
app.UseExceptionHandler(appError =>
{
...[2024/6/19]
记一次 .NET某机械臂上位系统 卡死分析
一:背景
1. 讲故事
前些天有位朋友找到我,说他们的程序会偶发性的卡死一段时间,然后又好了,让我帮忙看下怎么回事?窗体类的程序解决起来相对来说比较简单,让朋友用procdump自动抓一个卡死时的dump,拿到dump之后,上 windbg 说话。
二:WinDbg 分析
1. 主线程在做什么
...[2024/6/19]
效率提升利器:一个在线的.NET源码查询网站
前言
你是否有这样的苦恼,有时候需要查询.NET中的某个类型、方法、属性或程序集的源代码,但又不想从GitHub中下载源代码。今天大姚分享一个在线且实用的.NET源码查询网站。
在线查询地址
https: ource.dot.net
更多.NET在线学习站
https: githu...[2024/6/19]
【干货分享】.NET人脸识别解决方案
前言
前段时间有同学在DotNetGuide技术社区交流群提问:.NET做人脸识别功能有什么好的解决方案推荐的吗?今天大姚给大家推荐2款.NET开源、免费、跨平台、使用简单的人脸识别库,希望可以帮助到有需要的同学。
人脸识别应用场景
现如今人脸识别应用场景比较广泛如:安防监控、人脸门禁系统、考...[2024/6/17]
如何更改.NET中的默认时区?
除了"在操作系统中修改时区信息,然后重启.NET应用程序,使其生效"之外。如何在不修改操作系统时区的前提下,修改.NET中的默认时区呢?
这是一位 同学兼同事 于5月21日在技术群里问的问题,我当时简单地研究了一下,就写出来了。
现在写文章分享给大家,虽然我觉得这种需求非常小众,几乎不会有人...[2024/6/17]
记一次 .NET某工厂报警监控设置 崩溃分析记一次 .NET某工厂报警监控设置 崩溃分析
一:背景
1. 讲故事
前些天有位朋友在微信上丢了一个崩溃的dump给我,让我帮忙看下为什么出现了崩溃,在 Windows 的事件查看器上显示的是经典的 访问违例 ,即 c0000005 错误码,不管怎么说有dump就可以上windbg开干了。
二:WinDbg 分析
1. 程序为谁崩溃了
在...[2024/6/13]
一款.NET开源、功能强大、跨平台的绘图库 - OxyPlot
前言
今天大姚给大家分享一款.NET开源(MIT License)、免费、跨平台、功能强大的绘图库,支持多平台使用(包括:WPF、UWP、WinForm、Silverlight、Xamarin.iOS、Xamarin.Android、Xamarin.Forms 和 Xamarin.Mac等):O...[2024/6/13]
wpfui:一个开源免费具有现代化设计趋势的WPF控件库
wpfui介绍
wpfui是一款开源免费(MIT协议)具有现代化设计趋势的WPF界面库。wpfui为wpf的界面开发提供了流畅的体验,提供了一个简单的方法,让使用WPF编写的应用程序跟上现代设计趋势。截止写这篇文章,该项目获得了6.7k starts。
最近我也在使用wpfui,整体使用下...[2024/6/13]
高性能版本的零内存分配LikeString函数(ZeroMemAllocLikeOperator)
继上一篇文章在.NET Core,除了VB的LikeString,还有其它方法吗?(四种LikeString实现分享)分享了四种实现方式,笔者对这四种实现方式,不管是执行性能还是内存分配性能上,都不太满意。
那么是否有好的实现方法呢?答案是有的。
今天我们就搬出ReadOnlySpan<...[2024/6/13]
解读surging 的内存过高的原因
前言
对于.NET开发人员来讲,一个程序占用内存过高,是极其糟糕,是一款不合格的程序软件,.NET开发人员也不会去使用服务器垃圾收集器(ServerGarbageCollection),而是选用工作站垃圾收集器,而是对于一...[2024/6/13]
.NET周刊【6月第2期 2024-06-09】
国内文章
C#开源实用的工具类库,集成超过1000多种扩展方法
https: www.cnblogs.com/Can-daydayup/p/18230586
文章介绍了一个免费的C#工具类库Z.ExtensionMethods,可以通过NuGet包管理器轻松集成。该库支持.NET Standa...[2024/6/12]
使用Wesky.Net.OpenTools包来快速实现嵌套型结构体数据转换功能
今天遇到有人提到结构体和byte数组互转的问题,我就顺便拿来水一篇。这是一个冷门的问题,估计使用的人不多。既然有需求,应该就有使用场景,那就顺便整一波。
为了达到效果,结构体、复杂结构体嵌套等都能实现转换,我就顺便做了个包更新来提供使用和下面的说明。
首先引入nuget包 Wesky.Net.Op...[2024/6/12]
在.NET Core,除了VB的LikeString,还有其它方法吗?(四种LikeString实现分享)在.NET Core,除了VB的LikeString,还有其它方法吗?(四种LikeString实现分享)
Like运算符很好用,特别是它所提供的其中*、?这两种通配符,在Windows文件系统和各类项目中运用非常广泛。
但Like运算符仅在VB中支持,在C#中,如何实现呢?
以下是关于LikeString的四种实现方式,其中第四种为Regex正则表达式实现,且在.NET Standard 2.0...[2024/6/12]
NET8中增加的简单适用的DI扩展库Microsoft.Extensions.DependencyInjection.AutoActivation
这个库提供了在启动期间实例化已注册的单例,而不是在首次使用它时实例化。
单例通常在首次使用时创建,这可能会导致响应传入请求的延迟高于平时。在注册时创建实例有助于防止第一次Request请求的SLA
以往我们要在注册的时候实例单例可能会这样写:
注册:
services.AddSingle...[2024/6/12]
开源高性能结构化日志模块NanoLog
最近在写数据库程序,需要一个高性能的结构化日志记录组件,简单研究了一下Microsoft.Extensions.Logging和Serilog,还是决定重造一个轮子。
一、使用方法
直接参考以下示例代码:
NanoLogger.Start();
DateTime? nullable = n...[2024/6/12]
记一次 .NET某游戏币自助机后端 内存暴涨分析记一次 .NET某游戏币自助机后端 内存暴涨分析
一:背景
1. 讲故事
前些天有位朋友找到我,说他们的程序内存会偶发性暴涨,自己分析了下是非托管内存问题,让我帮忙看下怎么回事?哈哈,看到这个dump我还是非常有兴趣的,居然还有这种游戏币自助机类型的程序,下次去大玩家看看他们出币的机器后端是不是C#写的?由于dump是linux上的程序,刚好w...[2024/6/12]
Asp .Net Core 系列:详解鉴权(身份验证)以及实现 Cookie、JWT、自定义三种鉴权 (含源码解析)
什么是鉴权(身份验证)?
https: learn.microsoft.com/zh-cn/aspnet/core ecurity/authentication/?view=aspnetcore-8.0
定义
鉴权,又称身份验证,是确定用户身份的过程。它验证用户提供的凭据(如用户名和密码)是...[2024/6/11]
【WPF】Dispatcher 与消息循环
这一期的话题有点深奥,不过按照老周一向的作风,尽量讲一些人鬼都能懂的知识。
咱们先来整个小活开开胃,这个小活其实老周在 N 年前写过水文的,常阅读老周水文的伙伴可能还记得。通常,咱们按照正常思路构建的应用程序,第一个启动的线程为主线程,而且还是 UI 线程(当然,WPF 默认会创建辅助线程。这...[2024/6/11]
NET9 提供HybridCache解决分布式缓存中存在的网络链接&序列化带来的性能问题
下面是一个标准的IDistributedCache用例:
public cla SomeService(IDistributedCache cache)
{
public async Task<SomeInformation> GetSomeInformationAsyn...[2024/6/11]
推荐十个优秀的ASP.NET Core第三方中间件,你用过几个?
ASP.NET Core 作为一个强大的、跨平台的、高性能的开源框架,为开发者提供了丰富的功能和灵活的扩展性。其中,中间件(Middleware)是 ASP.NET Core 架构中的核心组件之一,它负责处理 HTTP 请求和响应的管道,允许开发者在请求和响应之间插入自定义逻辑。随着 ASP.N...[2024/6/11]
.NET借助虚拟网卡实现一个简单异地组网工具
由于工作需要,经常需要远程客户的服务器,但是并不是所有服务器都能开外网端口,使用向日葵等软件终究还是不太方便,于是找了很多工具,包括zerotier 等,但是由于服务器在国外等有时候还不同,
于是开始自己想办法研究一个属于自己的组网工具,最后找到snltty大佬的 https: gi...[2024/6/11]
.NET 使用 OpenTelemetry metrics 监控应用程序指标
上一次我们讲了 OpenTelemetry Logs 与 OpenTelemetry Traces。今天继续来说说 OpenTelemetry Metrics。
随着现代应用程序的复杂性不断增加,对于性能监控和故障排除的需求也日益迫切。在 .NET 生态系统中,OpenTelemetry Me...[2024/6/11]
.NET Core Configuration 配置项知识点一网打尽!.NET Core Configuration 配置项知识点一网打尽!
控制台项目中,演示示例
1.自定义 Dictionary Config 内存字典模式
dotnet add package Microsoft.Extensions.Configuration
IConfigurationBuilder&n...[2024/6/5]
记一次 .NET某质量检测中心系统 崩溃分析
一:背景
1. 讲故事
这些天有点意思,遇到的几个程序故障都是和Windows操作系统或者第三方组件有关系,真的有点无语,今天就带给大家一例 IIS 相关的与大家分享,这是一家国企的.NET程序,出现了崩溃急需分析。
二:WinDbg 分析
1. 为什么会崩溃
崩溃原因相对还是好找的,双击du...[2024/6/5]
微软官方开源免费的Blazor UI组件库 - Fluent UI Blazor
前言
今天大姚给大家分享一个由微软官方开源(MIT License)、免费的Blazor UI组件库:Fluent UI Blazor。
全面的ASP.NET Core Blazor简介和快速入门
Fluent UI Blazor介绍
Fluent UI Blazor是一个基于Blazor...[2024/6/5]
零基础写框架(2):故障排查和日志基础
关于从零设计 .NET 开发框架
作者:痴者工良
教程说明:
仓库地址:https: github.com/whuanle/maomi
文档地址:https: maomi.whuanle.cn
作者博客:
https: www.whuanle.cn
https: www.cnblo...[2024/6/5]
.Net 中间件 - 新开源代码生成器 -ReZero
ReZero AP
ReZero是一款.NET中间件 : 全网唯一界面操作就能生成API , 可以集成到任何.NET6+ API项目,无破坏性,也可让非.NET用户使用exe文件
ReZero生成器功能简介
1、表文档导出:支持目录导航
2、在创建表、在线建库
3、一键导入现有...[2024/6/3]
NET工控,上位机,Modbus485网口/串口通讯(鸣志步进电机,鸣志伺服电机,松下伺服电机,华庆军继电器模块)
先上两个通用Modbus帮助类,下面这个是多线程不安全版,在多线程多电机同一端口通信下,可能造成步进电机丢步或者输出口无响应等,还有个多线程安全版,只是基于这个不安全版加上了LOCK,THIS
using Modbus.Device;
using Sunny.UI;
using System...[2024/6/3]
.NET程序对接 OpenTelemetry logs
OpenTelemetry 简介
OpenTelemetry 是一个由 CNCF(Cloud Native Computing Foundation)托管的开源项目,旨在为观察性(Observability)提供一套全面的工具,包括度量(Metrics)、日志(Logs)和追踪(Traces...[2024/6/3]
.NET集成DeveloperSharp实现"高效分页"&"无主键分页".NET集成DeveloperSharp实现"高效分页"&"无主键分页"
DeveloperSharp系列近期又被制造业ERP、民航飞行App、建筑BIM、电力掌上营业厅、等多家大型采用,站在巨人的肩膀上你能走的更远。
支持.Net Core2.0及以上,支持.Net Framework4.0及以上
数据分页,几乎是任何应用系统的必备功能。但当数据量较大时,分页操...[2024/6/3]
.NET开源、跨平台、使用简单的面部识别库
前言
今天给大家分享一个.NET开源(MIT License)、免费、跨平台(适用于 Windows、MacOS 和 Linux )、使用简单的面部识别库:FaceRecognitionDotNet。
项目介绍
FaceRecognitionDotNet这个项目是 face_re...[2024/6/1]
记一次 .NET某工业设计软件 崩溃分析
一:背景
1. 讲故事
前些天有位朋友找到我,说他的软件在客户那边不知道什么原因崩掉了,从windows事件日志看崩溃在 clr 里,让我能否帮忙定位下,dump 也抓到了,既然dump有了,接下来就上 windbg 分析吧。
二:WinDbg 分析
1. 为什么崩溃在 clr
一般来说崩溃在...[2024/5/31]
WPF使用事件聚合器,实现任意页面跨页通信
前言:最近几天有好几个小伙伴玩WPF,遇到不同页面,不知道要怎么传递消息。于是,我今天就来演示一个事件聚合器的玩法,采用prism框架来实现。作为福利,内容附带了主页面打开对话框时候直接通过参数传递消息的一个小例子,具体请自行围观。
以下内容,创建wpf项目以及引用prism和实现依赖注入等...[2024/5/31]
记一次 .NET某工控WPF程序被人恶搞的 卡死分析
一:背景
1. 讲故事
这一期程序故障除了做原理分析,还顺带吐槽一下,熟悉我的朋友都知道我分析dump是免费的,但免费不代表可以滥用我的宝贵时间,我不知道有些人故意恶搞卡死是想干嘛,不得而知,希望后面类似的事情越来越少吧!废话不多说,我们来看看是如何被恶搞的。
二:WinDbg 分析
1. 程序...[2024/5/29]
记一次 .NET某企业数字化平台 崩溃分析
一:背景
1. 讲故事
前些天群里有一个朋友说他们软件会偶发崩溃,想分析看看是怎么回事,所幸的是自己会抓dump文件,有了dump就比较好分析了,接下来我们开始吧。
二:WinDbg 分析
1. 程序为什么会崩溃
windbg 还是非常强大的,当你双击打开的时候会自动帮你定位过去展示崩溃时刻的...[2024/5/29]
.NET周刊【5月第4期 2024-05-26】
国内文章
开源低代码框架 ReZero API 正式版本发布 ,界面操作直接生成API
https: www.cnblogs.com unkaixuan/p/18201175
ReZero是一款.NET6+的中间件,采用MIT许可证开源,目的是降低.NET Core开发的门槛。它提供界面操作生...[2024/5/29]
.NET集成DeveloperSharp实现http网络请求&与其它工具的比较
爆了,爆了,DeveloperSharp系列近期又被制造业ERP、民航飞行App、建筑BIM、电力掌上营业厅、等多家大型采用,站在巨人的肩膀上你能走的更远。
支持.Net Core2.0及以上,支持.Net Framework4.0及以上
http请求调用是开...[2024/5/27]
aspnetcore插件开发dll热加载 二
这一篇文章应该是个总结。
投简历的时候是不是有人问我有没有abp的开发经历,汗颜!
在各位大神的尝试及自己的总结下,还是实现了业务和主机服务分离,通过dll动态的加载卸载,控制器动态的删除添加。
项目如下:
演示效果:
下面就是代码部分:
重点...[2024/5/27]
一文带你了解.NET能做什么?
前言
在DotNetGuide技术社区微信交流群经常看到有小伙伴问:.NET除了能写桌面应用和Web应用还能做什么?今天大姚将通过本篇文章来简单讲讲.NET能做哪些开发,对.NET感兴趣的小伙伴也可以自行领取文末附带的.NET相关学习资料。
.NET简单介绍
.NET是一个开源(MIT Lic...[2024/5/27]
微软在Microsoft Build 2024 上 发布了.NET 9 预览版4
在 Microsoft Build 2024 上,与往年一样,.NET 不是会议主题演讲的主题,但是微软在这个大会上为.NET 推出一组新的功能和工具,旨在使 .NET 开发更快、更轻松,具体内容可以阅读文章:Microsoft Build 2024 的 .NET 公告和更新[1]。最新功能都...[2024/5/27]
.NET8 Identity Register
分享给需要帮助的人:记一次 IdentityAPI 中注册的源码解读,为什么有这篇文? 因为当我看到源码时,发现它的逻辑竟然是固定死的。我们并不是只能按照微软提供的源码去做。此文内容包含:设置用户账户为未验证状态、延迟用户创建、优缺点的说明、适用场景。
在ASP.NET 8 Identity...[2024/5/24]
EDP .Net开发框架--组织架构
职类
职类是将职务进行分类管理,并定义了职类标记和职级。职类标记会带入到该职类下的职务作为职务的标记,并为职务提供职级范围选择。
“高管类”职类定义了其职级范围为“PM13至PM16”,那么该职类下的职务的职级就只能在这个范围内。
职务
定义和管理组织架构中的职务。
职务必须属于某个职...[2024/5/24]
.NET快速实现网页数据抓取
前言
今天我们来讲讲如何使用.NET开源(MIT License)的轻量、灵活、高性能、跨平台的分布式网络爬虫框架DotnetSpider来快速实现网页数据抓取功能。
注意:为了自身安全请在国家法律允许范围内开发网页爬虫功能。
网页数据抓取需求
本文我们以抓取博客园10天推荐排行榜第一页...[2024/5/24]