自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qq165285727的专栏

一个大学之所以为大学,全在于有没有好教授。孟子说所谓故国者,非谓有乔木之谓也,有世臣之谓也,我现在可以仿照说所谓大学者,非谓有大楼之谓也,有大师之谓也。”

  • 博客(227)
  • 资源 (9)
  • 收藏
  • 关注

原创 RabbitMQ 封装,基于原生 RabbitMQ.Client 实现

基于原生实现,包含四大核心特性,适配分布式系统生产部署要求;

2025-12-15 16:15:57 256

原创 SSH 服务部署 + Docker(指定版本)完整安装 的一体化操作流程

【代码】 SSH 服务部署 + Docker(指定版本)完整安装 的一体化操作流程。

2025-12-12 10:03:02 228

原创 告别异步编程痛点:Nito.AsyncEx 全能使用指南

Nito.AsyncEx 并非替代原生 async/await,而是通过封装异步安全的协调原语、集合和上下文管理工具,解决原生 API 的局限性:弥补同步原语(如 lock、Semaphore)不支持异步的缺陷;提供开箱即用的异步集合,简化生产者-消费者等模式开发;解决无同步上下文环境(如控制台)的异步执行问题;支持跨平台,兼容 .NET Standard 2.0+、.NET Framework 4.5+、.NET 5+ 等主流框架

2025-12-11 13:51:13 854

原创 Docker中安装 redis、rabbitmq、MySQL、es、 mongodb设置用户名密码

Docker Compose 配置已经涵盖了常见的中间件服务(Redis、RabbitMQ、MySQL、ES、Kibana、MongoDB),并通过网络隔离(es与kibana的安装直接执行,如有问题,设置一下kibana_system的密码。用户),宿主机挂载目录的权限需与容器内用户匹配,否则会出现。容器内服务通常使用非 root 用户(如 Redis 用。)做了基础的安全设计,整体结构清晰。redis一定要挂载配置文件;mysql版本必须挂载配置文件。

2025-11-04 16:48:34 325

原创 docker中使用SSL证书实现前后端Https

前后端全链路 HTTPS 的完整配置方案,涵盖 Nginx 前端 HTTPS 托管、webgateway 网关 HTTPS、内部服务安全通信,基于 Docker Compose 实现,包含证书生成、配置文件、验证步骤,可直接参考部署

2025-11-03 15:15:15 528

原创 Nginx 配置典型的前后端分离场景

本文介绍了Nginx在前后端分离场景下的配置实践,重点涵盖API反向代理和前端静态资源服务。核心配置包括:1)监听80端口并设置server_name;2)通过location/api/将请求代理到后端服务,强调proxy_pass结尾斜杠的作用及必须的头部信息传递(X-Real-IP/X-Forwarded-For);3)前端静态资源服务配置,特别说明单页应用路由刷新的解决方案(try_files指令)。

2025-10-28 14:04:28 1009

原创 C# 流式处理

流式处理是一种边读取边处理数据的方式,其核心优势是内存占用低、响应速度快,适合处理大数据量场景。文章介绍了C#中通过IAsyncEnumerable<T>实现异步流式处理的方法,并提出了三层架构设计:数据源(Source)、处理器(Processor)和流式处理引擎(StreamingEngine)。其中引擎支持批处理、重试和背压控制,提供了文件、数据库、TCP和传感器四种数据源实现示例。这种设计模式具有高度可扩展性,可应用于各种大数据处理场景。

2025-09-28 10:24:01 264

原创 独立可用的 EF Core 批量操作工具类EfCoreBatchUtils

EfCoreBatchUtils工具类摘要: 该工具类实现了EF Core批量删除和更新操作,支持两种更新方式(匿名对象和Lambda表达式),兼容主流数据库。核心功能包括:1) 通过解析IQueryable自动生成SQL语句;2) 支持属性运算的表达式更新;3) 提供表名/列名映射等元数据工具。典型应用场景包括:批量清理过期数据、多表关联删除、分页处理大数据量更新等。使用时需注意事务管理、性能优化及表达式支持范围限制(仅支持基础运算)。工具类通过反射和表达式树解析实现高效批处理,避免了循环操作带来的性能损

2025-09-22 14:17:14 273

原创 FastProperty 高效的属性读写设置

FastProperty 高效的属性读写设置;它通过 表达式树(Expression Trees) 动态生成属性访问委托,替代性能较低的反射调用,同时利用缓存减少重复计算,在批量操作中显著提升属性读写性能。

2025-09-19 16:00:57 254

原创 Abp Vnext 数据库由SQL server切换MySQL

Abp Vnext 数据库由SQL server切换MySQL注意事项

2025-09-19 11:03:06 312 2

原创 .NET Core 中生成 JWT(JSON Web Token)

NET Core 中生成 JWT

2025-09-16 11:30:47 372

原创 智能枚举(Smart Enumeration)

智能枚举的核心功能:通过反射自动收集所有枚举实例、提供通过名称和值查找枚举实例的方法、实现了相等性比较和哈希码计算

2025-09-15 11:17:30 240

原创 基本IP保护 Swagger UI 的中间件

这篇文章介绍了一个实现Swagger访问控制的解决方案。通过配置文件(appsettings.json)集中管理Swagger设置,包括允许访问的IP列表、文档标题和版本。主要特点包括:使用SwaggerSettings类进行强类型配置绑定,开发SwaggerIPFilterMiddleware中间件实现IP过滤(支持反向代理),提供扩展方法简化中间件注册,并支持配置文件热重载。非授权IP访问Swagger时会返回403状态码并记录日志,而配置修改无需重启应用即可生效。

2025-09-02 11:26:10 340

原创 基本身份验证保护 Swagger UI 的中间件

本文介绍了如何为Swagger UI添加基本身份验证功能。通过创建SwaggerBasicAuthMiddleware中间件,在访问/swagger路径时进行Basic Auth验证,用户名和密码从appsettings.json配置文件中获取(默认用户名为admin,密码为password)。验证失败返回401未授权状态,成功则继续请求处理。配置文件中还包含日志级别和允许主机等常规设置。需要开发者在部署时修改默认密码以确保安全性。

2025-08-26 18:07:02 136

原创 c#计算集合中各个属性的合计

本文介绍了一个通用的C#类SumHelper,用于动态计算集合中数值属性的总和。该类通过反射获取对象的属性信息,使用LINQ表达式树构建动态查询,支持int、long、decimal、double等数值类型及其可空类型的求和计算。

2025-08-07 16:04:21 4511

原创 C#中统计某个字符出现次数的最简单方法

两种方法都能有效地计算"://"在字符串中出现的次数。

2025-08-07 15:45:00 335

原创 Abp+ShardingCore+EFCore.BulkExtensions使用案例

工程模板:Abp Vnext分表组件:Sharding Core批量插入组件:EFCore.BulkExtensions此组件对MSSQL(SQL Server)数据库的批量操作使用MERGE语句,非SqlBulkCopy,SqlBulkCopy处理临时表时/单表插入使用;MERGE语句用于根据源表和目标表的匹配情况,执行插入、更新和删除操作。

2025-07-31 17:02:28 425

原创 装饰器模式分析

本文分析了一个基于装饰模式的C#代码执行过程。程序首先创建具体房子实例StarDengHouse,然后依次用HouseSecurityDecorator(安全装饰器)和KeepWarmDecorator(保温装饰器)进行装饰。调用Renovate()方法时,执行顺序为:先执行原始房子的装修操作,然后依次执行安全系统和保温功能的添加。

2025-07-21 14:58:34 333

原创 SortByCustomOrder 根据指定的顺序对任意类型的列表进行排序

摘要:本文介绍了一个通用的排序方法SortByCustomOrder,它可以根据指定的自定义顺序对列表进行排序。该方法通过将排序顺序转换为字典来提高查找效率,并使用LINQ的OrderBy方法进行排序。未出现在排序列表中的元素会被排在最后。示例展示了如何使用该方法对产品数据按部门代码进行自定义排序,输出结果为B、A、C、D、E,其中E因不在排序列表中而被置于末尾。该方法适用于需要按特定顺序排列数据的场景。

2025-07-11 10:19:57 253

原创 ParallelExtensions扩展方法

摘要:本文介绍了ParallelExtensions类,提供了两个并行处理方法:ForeachParallel和ForPagedParallel。前者对集合元素并行执行操作,后者将集合分页后并行处理。两类方法都支持设置最大并行度,并自动捕获异常。示例展示了如何并行计算数字平方(ForeachParallel)和分页处理数字列表(ForPagedParallel)。注意并行处理时顺序不固定,需考虑线程安全。默认分页大小为600条记录,可通过pageSize参数调整。这些方法适用于需高效处理大量数据的场景。

2025-07-10 10:46:44 724

原创 ASP.NET Core 请求日志中间件

摘要:该日志中间件记录了HTTP请求的方法、路径、查询参数、请求体和响应时间,同时过滤SignalR和Swagger相关请求。通过上下文缓冲处理请求体,使用Stopwatch计算运行时间,并按条件输出日志(仅当查询参数或请求体非空时记录)。日志格式包含关联ID和清晰的请求信息,避免冗余日志输出,提高了日志系统的实用性和可读性。

2025-07-01 16:31:18 360

原创 net中Serilog 使用json配置输出日志

本文介绍了Serilog日志系统的配置和使用方法。配置部分指定了三种日志输出方式:控制台(Console)、文件(File)和Elasticsearch,其中文件日志按天滚动并设置大小限制,Elasticsearch配置了节点地址和认证信息。日志级别默认设为Information,并对特定命名空间进行了级别调整。程序代码展示了如何在ASP.NET Core应用中集成Serilog,包括配置读取、日志初始化、应用启动和异常处理,确保在应用终止时正确关闭日志系统。整个配置注重日志格式标准化、多目标输出和异常处理

2025-06-10 17:03:00 571

原创 SwaggerEndPoints 配置访问外部 Swagger 文档

使用 SwaggerEndPoints 配置访问外部 Swagger 文档

2025-05-27 11:18:30 247

原创 用于管理共享内存的 C# 类(Windows 和 Linux)

Class_ShareMem 类是一个良好的基础实现,能够在 Windows 和 Linux 上处理共享内存

2025-05-20 14:14:07 487

原创 用于判断主子关系的方法的实现(orm是efcore)

HasParentChildRelationship 方法用于判断给定实体集合中是否存在主子关系,通过检查实体的导航属性来实现。CheckForDependencies 方法则是一个辅助方法,负责具体的依赖关系检查,包括对已访问实体的跟踪,以避免循环引用。具体实现中,代码根据当前实体的导航属性类型(集合或单个引用)来获取该属性的当前值。如果导航属性是集合类型,使用 dbContext.Entry(entity).Collection(navigation.Name).CurrentValue 获取集合的当前

2025-05-19 16:42:54 180

原创 判断数据的所有属性是否都是基本类型

OnlyPrimitiveTypes 方法用于检查一个对象及其所有属性是否仅包含基本类型。该方法首先检查对象是否为 null,如果是则返回 true。接着检查对象类型是否为基本类型,若是则返回 true。如果对象是集合类型,则直接返回 false。对于非基本类型的对象,方法会遍历其所有公共属性,并递归调用 OnlyPrimitiveTypes 方法检查每个属性值。如果任何属性值不符合基本类型条件,则返回 false;否则返回 true。IsPrimitiveType 方法用于判断指定类型是否为基本类型,包括

2025-05-15 17:32:27 512

原创 封装 RabbitMQ 消息代理交互的功能

该代码封装了与RabbitMQ消息代理的交互功能,包括消息的发送与接收、连接和通道的管理。主要依赖的组件包括Microsoft.Extensions.Configuration、RabbitMQ.Client和Newtonsoft.Json等。RabbitConfigModel类用于存储RabbitMQ的连接配置,如IP、端口、用户名等。连接管理通过静态字段_connection实现,提供了GetConnection方法来建立或获取连接。消息接收通过Receive<T>方法异步处理,使用Even

2025-05-10 14:58:36 1287

原创 MultipleActiveResultSets 多个活动结果集

(MARS,多个活动结果集)是 SQL Server 中的一个功能,它允许在单个数据库连接上同时执行多个批处理。这意味着你可以在一个连接上同时打开多个,从而实现多个活动的结果集。

2025-04-27 13:45:52 332

原创 c#从ftp服务器下载文件读取csv

从 FTP 服务器下载文件的功能,并且支持根据文件名称的前缀或直接文件名进行查找和下载。

2025-04-16 16:02:24 308

原创 c#OleDb连接池管理功能

【代码】c#odbc连接池管理功能。

2025-04-16 13:40:28 326

原创 HttpClient 发送请求封装

该类主要用于发送 HTTP 请求,并支持一些高级功能,例如代理设置和内容压缩。

2025-04-14 09:09:20 250

原创 通用的基础数据类型转换器

用于将对象转换为指定的类型。通用的基础数据类型转换器。

2025-04-11 10:09:53 158

原创 c#事件案例与分析

当事件被触发时,OnDataReceived 方法会被调用,并接收事件的发出者(sender)和事件数据(DataReceivedEventArgs)作为参数。这意味着,当 DataReceived 事件被触发时,所有订阅了该事件的方法(包括 subscriber1.OnDataReceived)都会被调用。当 DataReceived 事件被触发时,所有注册的处理程序(包括 subscriber1.OnDataReceived)会被依次调用,处理相关的事件数据。

2025-03-08 18:02:23 1055

原创 校验给定字符串中的括号是否闭合

用于校验给定字符串中的括号是否闭合。该方法支持多种类型的括号,如圆括号(), 花括号{}, 中括号[]等。

2024-08-29 08:41:24 479 1

原创 离线安装docker、docker-compose

一、Docker 离线安装1. 下载 Docker下载 Docker 的最新版本 docker-20.10.9.tgz 到本地。2. 安装 Docker# 解压下载的 Docker 压缩包# 复制 Docker 目录到 /usr/bin,使 Docker 命令可执行# 清理解压后的文件3. 配置 Docker 服务# 创建 Docker 服务配置文件# 在文件中添加以下内容:[Unit][Service][Install]

2024-08-26 13:03:01 1239

原创 如何让asp.net core mvc发布时候不编译cshtml视图

Core MVC项目在发布的时候默认会把cshtml文件编译到dll中,但是有的项目希望能在运行时修改cshtml视图文件。网上有文章讲到过在csproj文件中添加false等方式来修改这个默认的行为,但是那些做法都是旧版.net core的做法,在.net 5/6等新版本中不起作用。下面的方法是我验证过的在最新版的.net core中有效的不编译cshtml视图的做法。

2024-08-05 16:35:23 297

原创 c# 操作mysql的帮助类

包含了一些用于执行 MySQL 数据库操作的方法。这些方法包括执行存储过程、插入、更新、删除操作以及执行数据库事务查询操作等。,并且在执行数据库操作后进行了相应的资源释放,以确保数据库连接得到正确关闭。这些方法使用了异步编程模型。

2024-07-01 13:26:06 1513

原创 FluentFTP库实现FTP文件操作的类

使用FluentFTP库实现FTP文件操作的类,包括删除文件、判断文件是否存在、读取文件、保存文件等操作。类中的方法都是异步的,使用了await和async关键字.

2024-05-20 09:05:23 693

原创 c# 实现每个整数分钟执行一次的定时任务

模拟异步操作的等待时间。最后,我们重新计算下一个整数分钟的时间,并使用。类的回调方法是在另一个线程上执行的,因此在操作期间需要注意线程安全。方法中,计算了下一个整数分钟的时间,然后使用。类创建定时器,并将首次触发时间设为该时间。定义异步方法,以避免出现无法捕获的异常。方法中,我们定义了要执行的操作,然后使用。方法是异步方法,但是我们使用的是。在实际应用中,应该使用。方法设置定时器的下一次触发时间。

2024-05-14 15:47:07 822

原创 c# mysql、sqlserver、Oracle、pg批量插入

MySql社区驱动MySqlConnector提供的批量插入方式是SqlBulkCopy,基于MySql自身的文件上传机制进行批量插入,参数为一个dataTable对象,原生的批量插入代码如下,计时方式与SqlServer相同,同时,MySql的连接字符串里要添加";Database=;Password=;AllowLoadLocalInfile=true",同时在MySql数据库上执行"set global local_infile=1"开启批量上传。1、c#对多种数据库批量插入封装,方便调用;

2024-04-28 17:27:20 1590

android分页加载数据

主要是安卓的数据加载,分页功能,可以和远程的数据库连接.

2012-04-17

sharmap实例/sharmap实例

很不错的例子,大家可以下载看看,代码也比较详细,欢迎大家下载

2011-07-25

android NFC通信例子

android手机的近场通信例子,需要的可以下载看看

2013-03-09

js框架|无刷新提交

js框架|很不错的|可以让web更加人性化,方便用户交互

2011-07-25

图片移动 放大 下载

图片移动 放大 下载 代码是c#的 开源的 欢迎大家下载继续开发和使用

2011-07-25

jsp分页

很不错的分页代码 在bean中分页

2008-03-15

JSP程序设计精彩实例(PDG)

很好的jsp程序学习例子

2008-05-03

jsp三级例子

适合jsp开发学习研究

2008-03-15

lucene站内搜索

主要是关于lucene站内搜索的技术代码,可以使用;按照需要进行代码修改。

2017-03-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除