- 博客(156)
- 资源 (3)
- 收藏
- 关注
原创 NET Core中ConcurrentDictionary详解:并发场景下的安全利器及服务端实践
ConcurrentDictionary<TKey, TValue>作为System.Collections.Concurrent命名空间下的并发安全集合,专为多线程场景设计,能极大简化并发处理逻辑。本文将从基础介绍、服务端并发用法、核心注意事项三个维度,带你全面掌握ConcurrentDictionary的实战技巧。
2025-12-20 18:48:44
1048
原创 .NET 10正式发布:三年LTS加持,性能与AI开发双重革命
摘要:微软.NET 10作为长期支持版本(2025-2028),带来突破性升级。性能方面实现JIT编译提速37.5%、GC暂停缩减52%、服务端冷启动加速43.75%。语言层面,C#14新增字段属性、扩展属性等简化语法,F#10优化并发编程。框架革新包括Blazor的状态持久化和WASM性能提升,MAUI的XAML热重载和控件增强。开发者可通过简单3步快速创建项目体验新特性。该版本建议企业优先迁移,未来将深化AI集成与跨平台能力,是.NET生态的重要里程碑。
2025-11-23 21:36:02
1086
原创 深入理解 .NET Core 中的 IServiceScopeFactory:用法、场景与静态类依赖注入
在 .NET Core 的依赖注入(DI)体系中,IServiceScopeFactory 是一个容易被忽略但却至关重要的接口。它负责创建服务作用域(IServiceScope),在处理瞬时(Transient)和作用域(Scoped)服务的生命周期管理中扮演着核心角色。本文将详细介绍 IServiceScopeFactory 的常见用途、使用示例,以及如何借助它在静态类中实现依赖注入(如日志服务)。
2025-11-01 20:54:16
1183
原创 详解.NET Core API 中锁的使用:常用实践与场景选型
本文介绍了.NET Core API开发中应对并发请求的三种常用锁机制:lock语句适用于简单同步代码块,SemaphoreSlim支持异步操作和并发控制,ReaderWriterLockSlim针对读多写少场景优化性能。通过库存扣减、配置读写等API示例,分析了各类锁的应用场景、实现原理和使用注意事项,帮助开发者根据不同业务需求选择合适的并发控制方案,确保共享资源操作的安全性和高效性。
2025-10-14 18:57:37
1060
原创 .NET Core 中 System.Text.Json 与 Newtonsoft.Json 深度对比:用法、性能与场景选型
在.NET Core 开发中,JSON 序列化与反序列化是高频操作,无论是 API 接口数据传输、配置文件解析还是缓存数据处理,都离不开 JSON 库的支持。目前.NET 生态中最主流的两款 JSON 处理库分别是微软官方内置的System.Text.Json和第三方经典库Newtonsoft.Json(Json.NET)。本文将从包特性、用法差异、性能表现、适用场景四个维度进行深度对比,并补充其他常用 JSON 库,帮助开发者做出更合适的技术选型。
2025-09-27 07:43:32
1450
原创 HttpClientFactory vs new HttpClient:.NET Core HTTP 客户端的正确打开方式
在.NET Core开发中,HttpClientFactory相比直接new HttpClient()具有显著优势。手动创建实例易导致TCP连接泄漏、端口耗尽及配置冗余,而HttpClientFactory通过连接池复用、集中化配置和依赖注入集成,解决了这些隐患。它还支持Polly重试策略、统一日志和自定义管道,提升分布式系统的弹性和可维护性。实战案例展示了如何注册命名客户端、集成Polly和自定义Handler,推荐在生产环境中优先采用HttpClientFactory,以确保高性能与稳定性。
2025-09-21 13:01:23
1308
原创 揭开.NET Core 中 ToList () 与 ToArray () 的面纱:从原理到抉择
摘要: 本文对比了.NET Core中ToList()与ToArray()的底层实现与适用场景。ToList()基于动态扩容的List<T>,适合需频繁修改或长度未知的序列,内存占用略高但操作高效;ToArray()生成固定长度数组,内存紧凑但修改成本高,适用于只读场景或大数据量。性能测试显示:小数据量下两者差异微小,但ToList()在频繁添加时快15倍,而ToArray()在只读遍历时内存节省5%。选择时需根据后续操作(修改优先ToList(),只读优先ToArray())和数据规模权衡。
2025-08-28 10:51:04
929
原创 在Ubuntu环境中安装Docker和Minikube的完整指南
本文详细介绍了在Ubuntu系统上搭建Docker和Minikube本地开发环境的完整步骤。主要内容包括:Docker安装(卸载旧版本、添加密钥、安装引擎等)、Minikube部署(kubectl安装、集群启动等)以及基本使用测试。同时提供了常用命令备忘和常见问题解决方法,如镜像拉取失败、权限问题等。该环境适合Kubernetes学习、微服务开发和CI/CD本地验证,无需复杂云配置即可实现完整的容器化应用测试。文末还推荐了相关官方文档资源。
2025-08-08 11:50:26
1031
原创 乐思 AI 智能识别平台(基于 YOLO,.NET+Vue3 开发)开源指南
乐思平台:多功能集成应用系统 乐思平台是一款基于.NET技术的综合性应用,提供用户管理、在线答题和AI图像识别功能。支持QQ邮箱注册登录,内置题库系统可实时记录成绩并导出Word文档。集成YOLOv8技术实现图片识别,后台数据大屏展示关键指标。项目采用单体与微服务双架构,技术栈包括.NET Core 8/9、MySQL、Redis、EFCore、Dapper、gRPC等,支持Docker和Kubernetes部署。提供演示地址(http://47.107.226.106:8080)及完整部署教程
2025-08-04 10:59:02
1790
1
原创 深入了解 Kubernetes(k8s):从概念到实践
本文系统介绍了Kubernetes(k8s)的核心技术,包括Pod、Service、Deployment等核心概念,以及k8s的自动化运维、弹性伸缩等优势特性。详细解析了k8s主从架构中的控制平面与节点组件,如kube-apiserver、etcd等关键模块。最后通过一个前后端分离项目实例,展示了从Docker镜像构建到k8s部署的全过程,包括前端React应用和后端Node.js服务的配置与部署。文章全面呈现了k8s作为容器编排标准的强大功能,为开发者提供了实用的技术参考。
2025-07-29 09:50:45
1286
原创 SignalR 全解析:核心原理、适用场景与 Vue + .NET Core 实战
SignalR是微软推出的开源实时通信库,支持服务器与客户端的双向通信,适用于即时通讯、实时数据更新等场景。本文介绍了SignalR的核心功能和工作原理,并通过Vue与.NET Core的实战案例演示了如何构建实时应用。案例中,后端.NET Core项目通过Hub类处理消息广播,前端Vue项目使用SignalR客户端实现消息收发。通过配置跨域和事件总线,实现了多端实时消息同步。SignalR简化了实时应用开发,为金融、监控、协作等场景提供了高效解决方案。
2025-07-27 15:40:05
1828
原创 在.NET Core API 微服务中使用 gRPC:从通信模式到场景选型
本文深入解析gRPC在.NET Core微服务中的四种通信模式:一元RPC(简单请求响应)、服务器流式RPC(服务端批量推送)、客户端流式RPC(客户端批量提交)和双向流式RPC(实时双向交互)。通过对比gRPC与RESTful API的性能、契约定义、通信模式等特点,指出gRPC凭借HTTP/2协议和Protobuf序列化的优势,特别适合微服务间的高频、低延迟通信场景。建议采用"内外分离"策略:内部微服务使用gRPC提升效率,外部通过BFF层转换为RESTful API以保持兼容性。
2025-07-21 08:55:55
1352
原创 深入理解 SemaphoreSlim 在.NET Core API 开发中的应用
摘要: SemaphoreSlim是.NET中轻量级的信号量实现,用于高效控制并发访问。相比传统Semaphore,它开销更低,支持异步操作(WaitAsync),适合Web开发。核心方法包括Wait/WaitAsync(获取访问权)和Release(释放资源)。典型使用模式为“等待-访问-释放”,需确保在finally中释放以避免死锁。在Web开发中,SemaphoreSlim常用于:限制API并发请求数、保护共享资源、控制第三方服务调用频率,以及作为分布式锁的本地补充。
2025-07-17 20:36:46
1470
原创 .NET Core 开发中的鉴权技术全解析
.NET Core 鉴权技术详解 鉴权(Authentication)与授权(Authorization)是安全开发的核心概念。鉴权解决“你是谁”,授权解决“你能做什么”。.NET Core 提供多种鉴权方式: Cookie 鉴权:传统 Web 应用的理想选择,依赖会话 Cookie 验证身份,需配置登录路径和访问控制。 JWT 鉴权:适用于无状态分布式系统,通过签名令牌传递用户信息,需配置密钥、颁发者等参数。 OAuth2 鉴权:用于第三方登录(如 Google),通过授权码流程获取访问权限。 选择策略:
2025-06-24 21:37:51
1010
原创 ASP.NET Core 中 Kestrel 的应用及在前后端分离项目中的角色
本文深入探讨了Kestrel服务器在ASP.NET Core中的应用及其在前后端分离架构中的核心作用。Kestrel作为轻量级、高性能的跨平台Web服务器,为.NET Core API提供基础网络服务支持。文章详细解析了Vue+Nginx+Kestrel的交互流程,重点说明Kestrel如何与Nginx协作处理请求。同时剖析了launchSettings.json与Kestrel配置的底层机制,包括配置加载优先级及实际应用场景,并提供了多环境配置的最佳实践方案,帮助开发者构建高性能Web应用。
2025-06-24 17:01:34
1404
原创 一文读懂!ASP.NET Core 开发中 Thread、ThreadPool 和 Task 的区别与应用
ASP.NET Core 开发中,Thread、ThreadPool 和 Task 是实现多线程的重要方式。Thread 是基础实现,可精细控制线程,但创建销毁开销大;ThreadPool 通过线程复用减少开销,适合短时间无状态任务;Task 基于线程池,提供高级异步编程模型,便于处理复杂逻辑 。文中通过代码示例展示使用方式,对比三者在特点、适用场景、性能及资源占用上的不同。实际开发中,需依业务需求选择,合理运用能提升应用程序性能与资源利用率
2025-06-20 11:34:07
1132
原创 ASP.NET Core - 过滤器 (Filters) :AOP 思想在 Web 开发中的卓越实践
ASP.NET Core过滤器是实现AOP(面向切面编程)的重要机制,用于在请求处理管道中插入跨领域功能。文章详细介绍了5种核心过滤器类型(授权、资源、动作、异常、结果过滤器)的执行时机和作用,并阐述了三种应用方式(属性标记、全局注册、控制器级实现)。通过日志过滤器的实现示例,展示了如何创建自定义过滤器。同时对比了过滤器与中间件的区别,指出过滤器专用于MVC框架内的请求处理。合理运用过滤器可有效分离业务逻辑与通用功能,提高代码复用性和可维护性。
2025-06-19 22:49:30
1446
原创 Git仓库大文件清理指南
《Git仓库大文件清理指南》摘要 针对Git仓库因大文件历史导致体积过大的问题,本文提供了一套完整的清理方案。首先需注意:该操作会重写历史,需提前备份并通知团队成员。核心步骤包括:1)使用git rev-list命令识别大文件;2)通过git filter-branch彻底删除历史中的大文件(如示例删除所有>10MB文件);3)执行后续清理命令(gc/prune等)并强制推送。最后建议预防措施:使用git-lfs管理大文件、设置预提交钩子检查文件大小、完善.gitignore规则。特别提示:macOS
2025-06-01 09:19:01
913
原创 华为云Flexus+DeepSeek征文|0代码+6倍加速!华为云Flexus X+Dify实现零代码开发定制化AI应用开发
摘要: 华为云推出DeepSeek-V3/R1商用大模型与FlexusX实例组合,提供1.6倍算力提升、6倍业务加速及30%成本优化,支持高效AI开发。用户可通过华为云账户开通DeepSeek服务,并一键部署Dify低代码开发平台,快速构建AI应用。Dify支持模型供应商灵活配置、应用编排及嵌入式集成,实现零代码定制化AI功能。该方案为企业降低了技术门槛,助力快速响应市场需求,提升竞争力。
2025-05-25 14:21:08
935
原创 在c#中虚方法和抽象类的区别
在C#中,虚方法(virtual method)和抽象方法(abstract method)是面向对象编程中两种重要的机制,用于实现多态性。虽然它们都有助于实现类之间的灵活关系,但它们在定义、使用以及功能上有一些关键的区别。
2025-02-16 13:59:35
918
原创 在c#中如何利用设计模式优雅地消除业务代码中大量的if/else和重复逻辑
在C#编程中,大量的if/else语句和重复逻辑不仅使代码难以维护,还增加了出错的风险。为了优雅地消除这些问题,你可以利用设计模式来重构代码。
2025-02-16 13:36:09
650
原创 系统架构的演变
系统架构是系统的一种整体的高层次的结构表示,它确定了系统的基本组织、组件之间的关系、组件与环境的关系,以及指导其设计和发展的原则。随着技术的发展和业务需求的增长,系统架构经历了从简单到复杂、从集中到分布的演变过程。
2024-12-14 12:34:49
1386
原创 828华为云征文|Flexus X实例GitLab部署&构建流水线-私人一体化代码仓库~
本实践指南将引领您深入体验GitLab CI/CD与GitLab Runner的完美融合,以构建一套高效、自动化的.NET控制台应用程序部署流程。您将学习到如何通过GitLab CI/CD功能配置Runner来监听GitLab的Webhooks,从而实现在代码提交后自动触发构建和部署流程;如何利用Docker容器技术来快速打包和运行您的.NET控制台应用;以及如何通过编写.gitlab-ci.yml脚本来管理整个自动化部署流程。
2024-09-21 21:34:54
2036
原创 828华为云征文|Flexus X实例Docker+Jenkins+gitee实现CI/CD自动化部署-解放你的双手~
本实践指南将带您深入探索Docker+Jenkins+Gitee的完美结合,一步步构建起一套高效、可靠的CICD自动化部署体系。您将学会如何配置Jenkins以监听Gitee的Webhooks,实现代码提交的即时响应;如何利用Docker容器快速打包并运行您的C# Web API应用。
2024-09-17 01:17:09
2406
原创 828华为云征文|Flexus X实例C#/.Net Core 结合(git代码管理、docker自定义镜像)快速发布部署-让你的项目飞起来~
本实验深入演示了如何在Ubuntu环境中,利用Git进行版本控制管理代码,并通过Docker技术自定义构建镜像,从而实现项目从代码到应用的快速构建、打包与部署流程。这一流程不仅提升了开发效率,还确保了环境的一致性与可重复性。
2024-09-08 17:00:07
2549
1
原创 828华为云征文|Flexus X实例ultralytics模型yolov10深度学习AI部署与应用
从0到1部署YOLOv10深度学习AI大模型的环境搭建、模型训练、权重使用,以及各项指标解读。
2024-09-01 14:26:04
1654
原创 c# .net core项目角色授权机制
角色授权机制是确保应用程序安全性的重要组成部分,它允许开发者根据用户的角色来限制对应用程序中不同资源的访问。
2024-08-03 17:00:03
1812
原创 c# .net core项目中使用JWT进行权限校验
JWT(JSON Web Token)是一种开放标准(RFC 7519),它提供了一种在网络应用间安全传输信息的简洁、自包含的方式。JWT主要用于身份验证和授权机制,是一种轻量级的、可扩展的、自包含的身份验证和授权解决方案。
2024-08-03 16:27:26
2193
原创 c# .Net Core 项目配置SWagger UI 带Token访问
Swagger是一款强大的API管理工具,它主要用于生成、描述、调用和可视化RESTful风格的Web服务。Swagger通过一套标准的规范定义接口及其相关信息,从而能够自动生成各种格式的接口文档(如HTML、PDF、Markdown等),并支持生成多种语言和客户端、服务端的代码,以及提供在线接口调试页面,极大地方便了开发人员进行接口的开发和测试。
2024-08-01 21:40:40
2445
原创 Autofac通过反射程序集方式 注册 接口 与 实现 之间的关系
使用反射自动扫描并注册程序集中的所有类型,可以极大地减少手动编写注册代码的需要。这意呀着对于每个新的接口实现,你不需要更新一个集中的注册点,从而减少了出错的机会
2024-08-01 21:40:11
1313
1
原创 Asp.Net Core 读取配置接口 IOptions、IOptionsMonitor以及IOptionsSnapshot
Options是.net Core Web api框架自带的功能,Options模式通过定义强类型的类来表示相关配置设置的集合,使得配置管理更为结构化和类型安全。
2024-06-15 15:21:22
1899
原创 微信小程序开发-网络请求
HTTP请求是客户端向服务器发送的请求消息,用于获取或操作服务器上的资源。微信小程序提供了一个名为wx.request的API函数,用于发起HTTPS网络请求。
2024-05-18 14:10:13
3257
原创 微信小程序开发基础-基本组件
微信小程序不仅为用户提供了便捷高效的服务体验,也为开发者带来了新的机遇和挑战。通过学习和掌握小程序的开发流程及技术要点,开发者可以创造出符合用户需求的小程序,进而在庞大的微信用户群体中实现自己的业务目标。
2024-05-05 14:53:19
1319
原创 ASP.NET Core 模型绑定
在C#中,特别是在ASP.NET Core中,模型绑定是一个将HTTP请求中的数据映射到C#对象的过程。它使得开发者能够方便地从请求中提取数据,而无需手动解析请求体、查询字符串、路由数据等。ASP.NET Core提供了多种特性(Attributes)来指定模型绑定的来源。
2024-04-07 00:12:31
1471
原创 ASP .Net Core 配置集合 IConfiguration 的使用
IConfiguration的主要功能是作为配置的最终产出物,提供对应用程序配置信息的访问。它允许你从多种配置源(如文件、环境变量、命令行参数等)中读取配置内容,并将这些数据格式化为Key-Value结构,使得开发者能够方便地获取和使用这些配置信息。
2024-03-20 23:34:29
2824
原创 ASP .Net Core ILogger日志服务
ILogger日志服务是.NET平台中的一个内置服务,主要用于应用程序的日志记录。它提供了灵活的日志记录机制,允许开发者在应用程序中轻松地添加日志功能。
2024-03-19 22:52:01
2867
原创 ASP .Net Core 8.0 依赖注入的三种注入模式
🍀在.NET中,依赖注入(Dependency Injection,简称DI)是一种设计模式,用于解耦组件之间的依赖关系。依赖注入的核心思想是将对象的依赖关系(即对象所需的其他服务或组件)从对象内部创建转移到外部容器来管理。这样,对象不需要知道其依赖的具体实现细节,只需要通过构造函数、属性或方法等注入所需依赖即可。这种模式提高了代码的模块化和可测试性,同时也使得替换和扩展依赖变得更加容易。
2024-03-18 23:11:30
3545
原创 C#使用QQ邮箱发送邮件
使用官方提供的命名空间System.Net.Mail 进行QQ邮箱发送邮件,这个命名空间包含了一系列类,用于创建、配置和发送电子邮件消息
2024-02-26 22:36:27
2417
7
400多张 “皮卡丘” 原图 与 标注结果 以及yolov8的训练结果best.pt权重和ONNX格式文件
2024-02-20
AI动物识别图像分类数据集
2024-01-02
程序员简历单页、多页、封面177款,及简历写作面试技巧
2023-02-25
Springboot & MySQL & Mybatis 学生管理系统
2022-07-07
计算机系论文,人工智能方向,5000字,YOLOv5
2023-02-25
Spring如何实现IoC( IDEA项目maven工程)
2022-06-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅