- 博客(661)
- 资源 (6)
- 收藏
- 关注
原创 NET6 升级 .NET9 + EF Core9 避坑指南:Identity Map(实体标识跟踪)引发数据覆盖问题
很多团队从 .NET6 + EF Core6 升级到 .NET9 + EF Core9 时,遇到一类静默数据错误:SQL 查询返回多条不同记录,但 C# 内存里 List 集合里面多个实体指向同一个 CLR 对象,后面行的数据被前面的记录覆盖。现象:数据库两条不同记录,查询返回列表,两条实体字段完全一模一样,都是第一条的数据。这个 Bug不会抛异常、不会报错、日志无警告,属于最危险的隐性业务 Bug,在单元测试、接口返回 JSON 时才会发现数据错乱。
2026-10-20 13:51:43
8
原创 AI出现改变了整个研发流程
OK 平台是一个 AI 驱动的端到端研发平台,核心理念是「需求即交付」——用户只需提交需求描述,AI Agent 自动走完需求评审→仓库匹配→技术方案→编码→Code Review→部署的全链路。先看数据,再聊怎么做到。不要把流程本身当成目标。流程是手段,解决问题才是目的。当 AI 让某个环节变得多余,这个环节就该消失。当 AI 能承接执行层的工作,人就该把精力放到判断和创造上。
2026-10-19 17:23:55
9
原创 Error response from daemon: Get “https://registry-1.docker.io/v2/“: net/http 报错处理
sudo vim /etc/docker/daemon.json将该配置填入这个 JSON 配置是用于 Docker 镜像加速。1、添加docker的配置文件,要用超管权限执行。2、重新加载配置文件及docker服务。3、 重启docker。
2026-06-12 23:04:46
447
原创 linux 系统(ubuntu)中mysql连接不上排查
检查防火墙设置: 如果你的防火墙阻止了MySQL的默认端口(3306),你需要打开该端口。检查用户权限: 确保你使用的MySQL用户具有正确的权限,并且可以从你尝试连接的IP地址进行连接。检查网络连接: 确保你的计算机可以访问MySQL服务器所在的IP地址和端口。检查MySQL配置文件: 确保MySQL配置文件(通常位于。如果你想允许来自任何IP的连接,可以将其设置为。如果连接失败,请检查网络设置和路由器配置。替换为实际的用户名和密码。
2026-06-12 21:54:23
351
原创 .net cap框架多实例清理消息会出现死锁问题
while (!try// 随机延迟,避免多实例同时执行// 自定义清理逻辑// 使用更优化的清理策略// 执行清理...
2026-03-19 21:57:46
181
原创 windos C盘清理技巧
indows C盘空间不足确实是个常见又让人头疼的问题。其实,最安全、最有效的方法往往就藏在系统自带的工具里,无需急于求助于第三方软件。下面这套组合拳,可以帮你安全、彻底地为C盘“瘦身”
2026-03-19 21:41:53
371
原创 Git 误操作急救手册
Git 提供了强大的版本控制能力,但也意味着一些误操作可能带来混乱。幸运的是,Git 的设计本身就考虑到了“后悔”的场景,大多数误操作都是可逆的。本手册将常见误操作分类整理,提供详细的恢复步骤和原理说明,帮助你快速脱险。
2026-03-19 21:36:50
335
原创 .net ORM框架性能对比分析
NET数据访问层的选择已非常成熟。EF Core 是构建业务逻辑的“全能战士”,其性能足以应对绝大多数场景。Dapper 是追求极致的“特种兵”,在性能热点和内存控制上无可替代。最佳实践并非相互排斥,而是在清晰理解各自优劣后,采用CQRS 模式进行混合使用,让最合适的工具处理最擅长的任务。最终,任何选型都应基于你具体的业务负载和硬件环境,通过 BenchmarkDotNet 等工具进行实测验证。
2026-03-19 21:22:26
653
原创 .Net 性能优化和经验总结
专家级别的 .NET 性能优化是一个系统工程,涉及代码细节、内存管理、并发策略、运行时配置以及持续测量。先测量,后优化,避免主观臆断。从架构层面考虑,选择合适的数据结构和算法。关注分配和 GC,它们是托管环境的核心开销。异步化 I/O,释放线程资源。持续学习,关注 .NET 每个版本的新特性(如Span<T>Regex源生成器、优化)。最终,性能优化是迭代的:测量瓶颈、应用优化、验证改进、重复进行。只有这样,才能构建出高效、稳定的 .NET 应用程序。
2026-03-19 21:17:04
595
原创 .Net开发中 后台服务详细使用和经验总结
后台服务循环中未检查,导致应用无法停止。使用Task.Delay时必须传入,否则Delay会无视取消请求。.NET 的后台服务为构建可靠、高效的后台处理提供了强大而灵活的基础。从简单的到强大的Quartz.NET和 Hangfire,开发者可以根据具体场景选择合适的工具。同时,注意异常处理、并发控制、资源管理和部署细节,才能打造出健壮的生产级后台任务系统。希望本文的经验总结能帮助你在 .NET 开发中更好地运用后台服务。
2026-03-19 20:55:07
412
原创 .Net开发中 多线程存在的陷阱与示例
优先使用高级抽象:如TaskParallelConcurrent集合、ChannelDataflow(TPL Dataflow),降低直接操作线程和锁的复杂度。遵循最小化共享原则:能不共享就不共享,使用不可变对象或线程局部副本。彻底理解同步上下文:特别是在 UI 和ASP.NET应用中,避免阻塞异步代码。测试和压力测试:多线程问题常在极端并发下暴露,编写针对性测试。记录日志和监控:使用日志框架记录线程 ID、时间戳,便于事后分析。学习经典并发模式。
2026-03-19 20:45:55
537
原创 列举 EF Core 7.0 和 8.0 中常见的新语法及使用示例
set;set;set;} // 复杂类型,非实体set;set;set;可以将 C# 方法映射到数据库函数,并在 LINQ 中使用。// 声明方法,无实现。
2026-03-19 20:39:14
216
原创 推荐开源项目.NET 精选35+ 开源项目供大家学习
OSharp是一个基于.NetCore的快速开发框架,框架对AspNetCore的配置、依赖注入、日志、缓存、实体框架、Mvc(WebApi)、身份认证、功能权限、数据权限等模块进行更高一级的自动化封装,并规范了一套业务实现的代码结构与操作流程。核心模块包括:组织机构、角色用户、权限授权、多系统、定时任务、代码生成器等。已支持微信公众号、小程序、小游戏、企业号、企业微信、开放平台、微信支付、JSSDK、微信周边等全平台。支持集群、哨兵、主从、发布-订阅、lua、管道、事务、流、客户端缓存和池化。
2026-03-06 08:56:40
543
1
原创 .Net中多线程编程的基本概念和详细使用说明
线程和进程最大的一个区别就在于线程间可以共享数据和资源,而进程则充分地隔离。在很多场合,即使同一进程的多个线程之间拥有相同的内存空间,也需要在逻辑上为某些线程分配独享的数据。例如,在实际开发中往往会针对一些ORM如EF一类的上下文实体做线程内唯一实例的设置,这时就需要用到下面提到的技术。(1)线程本地存储(Thread Local Storage,TLS)
2025-08-11 15:15:32
1159
原创 .NET如何使用压缩流
的应用,所谓装饰者模式,就是动态地给一个对象添加一些额外的职责。就拿上面代码中的GZipStream来说,它扩展的是MemoryStream,为Write方法增加了压缩的功能,从而实现了压缩的应用。由于网络带宽的限制、硬盘内存空间的限制等原因,文件和数据的压缩是我们经常会遇到的一个需求。命名空间下,且都继承于Stream类型(对文件压缩的本质其实是针对字节的操作,也属于一种流的操作),实现了基本一致的功能。通过GZipStream的构造方法可以看出,它是一个典型的。
2025-08-11 13:59:11
3416
原创 .Net中如何避免类型转换时的异常
不假设转换一定成功,始终进行前置检查。根据场景选择asisTryParse等安全方法,配合泛型工具类可大幅减少异常风险,同时保持代码的可读性和性能。
2025-08-11 13:17:24
280
原创 在.Net中如何使用Conditional特性详细的说明
是.NET 中控制条件执行的优雅方式,尤其适合分离调试逻辑与生产代码。使用时需注意方法返回值必须为void,并通过项目属性(而非硬编码#define)管理条件符号,以适应不同环境的编译需求。
2025-08-11 13:14:21
224
原创 中为什么不能在构造方法中调用虚方法
在构造函数中调用虚方法会破坏对象初始化的完整性,因为派生类的成员可能尚未准备就绪。避免在构造函数中调用虚方法、抽象方法或任何可能被子类重写的方法,以确保对象状态的一致性。
2025-08-11 13:08:55
294
原创 C#中重写、重载和隐藏
重载(Overload)是拥有相同名字和返回值的方法却拥有不同的参数列表,它是实现多态的立项方案,在实际开发中也是应用得最为广泛的。常见的重载应用包括:构造方法、ToString()方法等等;我们可以看到:当通过基类的引用去调用对象内的方法时,重写仍然能够找到定义在对象真正类型中的GetString方法,而隐藏则只调用了基类中的GetString方法。重写(Override)是指子类用Override关键字重新实现定义在基类中的虚方法,并且在实际运行时根据对象类型来调用相应的方法。
2025-08-11 11:47:16
185
原创 项目面试题参考
可以通过这些数据分析来判断用户的访问喜好,公司通过对这些数据的分析从而可以让制定更好的营销策略。都是用来声明变量的关键字,但它们之间存在几个关键的区别,这些区别主要涉及到变量的作用域、声明提升(hoisting)、以及是否可以被重新声明等方面。3. 设置回调函数(其中最重要的就是onResult回调 第二个参数就是结果) 通过回调函数的参数拿到转换出的文字结果。日历、相机、麦克风、位置:权限级别 normal 所有应用都能用,但授权方式为 user_grant 需弹窗授权。
2025-08-09 08:14:53
216
原创 python Scrapy 进行数据爬取数据
item['rating'] = book.css('p.star-rating::attr(class)').re_first('star-rating (\w+)') # 评分(提取class中的星级)item['link'] = response.urljoin(book.css('h3 a::attr(href)').get()) # 详情页链接(拼接完整URL)item['title'] = book.css('h3 a::attr(title)').get() # 标题。
2025-08-04 19:46:02
593
1
原创 Python 3 网络编程深度解析与实战指南
Python 3 网络编程提供了丰富且强大的工具和技术,从基础的 Socket 编程到高级的多线程、多进程和异步编程,再到网络安全防护,能够满足各种网络应用的开发需求。在上述代码中,服务器端首先创建了一个基于 IPv4 地址族和 TCP 协议的套接字,然后绑定到指定的地址和端口,并开始监听连接。通过套接字,应用程序可以与网络中的其他应用程序进行通信,它可以基于不同的协议(如 TCP、UDP)创建,也可以在不同的地址族(如 IPv4、IPv6)上工作。为了保障网络应用的安全,可以采取以下措施:。
2025-08-04 13:25:05
1014
原创 HarmonyOS应用开发者学习方法
先会后懂:HarmonyOS 的声明式 UI 和分布式能力较新,初期可先通过示例代码 “照做”,再逐步理解原理。聚焦场景:结合具体场景(如智能家居、健康设备)学习,分布式能力在实际场景中才能体现价值。跟踪版本:HarmonyOS 迭代快(API 版本持续更新),需关注最新特性(如 ArkUI 4.0 的新组件、分布式能力增强)。
2025-07-22 14:46:36
890
原创 HTTP 性能优化实战:从理论到落地的全链路方案
HTTP 性能优化是「多维度协同」的工程:连接层减少握手开销,资源层减小传输体积,缓存层复用已有资源,协议层提升传输效率。实际落地时,需结合业务场景(如电商 vs 资讯)和用户群体(如移动端 vs PC 端)制定差异化方案,并通过数据驱动持续迭代。
2025-07-22 14:26:38
1343
原创 WPF 数据绑定详解及代码示例
数据绑定是 WPF 中最强大的特性之一,它极大地简化了 UI 与数据的同步逻辑。通过本文介绍的各种绑定方式,你可以实现从简单到复杂的各种数据展示和交互需求。掌握数据绑定的关键在于理解其工作原理,并根据实际场景选择合适的绑定模式和特性。在实际开发中,结合 MVVM 模式可以更好地发挥数据绑定的优势,创建可维护、可测试的 WPF 应用程序。
2025-07-22 14:19:04
290
原创 深入理解 WPF:从基础到架构的全方位掌握
- 触发器 --></Trigger></Trigger></Trigger></Style>-- 背景 --><Border-- 滑块 --><EllipseMargin="2"-- 选中状态的背景 --><Border</Grid>-- 滑块动画 -->-- 背景过渡动画 --></Trigger>WPF 不仅仅是一个 UI 框架,更是一种开发思想的转变。
2025-07-22 14:13:53
452
原创 HCIP-Datacom-H12-821题库(301-600题)四
单选题]582/1178、在WLAN网络中有两台AC和多台AP时,配置主备方式的组网是将一半AP规划AC1为主AC,AC2为备AC,另一半AP规划AC2为主AC,AC1为备AC,从而提高AC资源利用率。[单选题]556/1178、在BGP中,MED作为一种度量值,用于向外部对等体指出进入本As的首选路径。[单选题] 554/1178、设备在配置IS-IS缺省情况下,感知邻居故障时间最小为秒级,但通过与BFD联动之后,BFD可代替IS-IS协议的Hello机制,从而将感知邻居故障的时间降至为毫秒级。
2025-07-19 16:16:24
192
原创 HCIP-Datacom-H12-821题库(301-600题)三
[单选题]486/1178、OSPF的Router LSA中,如果其Link Type为1,则该LSA描述的是从本路由器到邻居路由器之间点到点的链路,此时对应的Link ID描述的内容则为邻居路由器的接口IP地址,[单选题]532/1178、在VRP系统中,当在广播网络中的两台路由器互联接口的MTU不匹配,且接口配置了ospf mtu-enable时,则关于两台路由器邻居关系状态变化描述,正确的是以下哪一项?[[单选题]]497/1178、在组播中,汇聚点RP为网络中一台重要的PIM路由器。
2025-07-19 16:12:28
236
原创 HCIP-Datacom-H12-821题库(301-600题)二
A VRRP是一种冗余备份协议,为具有组播或广播能力的局城网如以太网设计,保证当局域网内主机的下一跳路由器设备出现故障时,可以及时的有另一台路由器来代替,从而保持网络通信的连续性和可靠性,[[单选题]]468/1178、DDOS攻击是指攻击者通过控制大量的僵尸主机,向目标网络发送大量精心构造的攻击报文,从而使被政击者产生拒绝向正常用户的情求提供服务的效果。[单选题]426/1178、如图所示,R1和R2构成VRID为1的VRRP备份组,以下关于VRRP主备选举过程的描述,错误的是哪一项?
2025-07-19 16:08:56
171
原创 HCIP-Datacom-H12-821题库(301-600题)一
VLAN分配算法为hash时,VLAN pool根据STA的MAC地址进行哈希运算后的结果为STA分配业务VLAN,只要VLAN pool里面的VLAN不发生变化,通常STA都会获取到固定的业务VLAN,STA重新上线时也会被尽量优先分配到之前使用过的IP地址,这种方式IP会比较固定,在漫游以及重新连接的时候会获取相同的地址,一般都是选择hash方式,默认采用hash算法。反之,则丢弃该配置BPDU。[单选题]399/1178,LAN映射表是IST域的属性,用来描述VLAN和MSTI之间的映射关系。
2025-07-19 16:05:32
191
原创 程序员宝藏!超全技术学习资料包
在软件开发与技术研究领域,高效获取优质学习资料对个人技术成长至关重要。本文将为广大程序员及技术爱好者,系统性介绍一套覆盖多领域、多技术栈的学习资源集合,助力您在技术进阶之路上高效前行。
2025-07-19 15:39:17
1132
原创 如何高效利用PyCharm的调试功能?
PyCharm 的调试功能是开发过程中排查问题、理解代码执行流程的重要工具,掌握其高效使用方法能极大提升开发效率。以下从多个方面详细介绍:。通过以上方法,能充分发挥 PyCharm 调试功能的优势,快速定位和解决代码中的问题,提高开发效率。三、熟练运用调试控制操作。四、高效查看变量与调用栈。五、调试中的其他实用技巧。一、调试前的准备工作。
2025-07-19 15:32:53
939
原创 Navicate12安装详细说明
Navicat Premium 12、Navicat Premium 12 Navicate12安装教程 mysql
2025-07-16 08:06:57
410
原创 软件测试中常用的测试方法有七大类。等价类划分,边界值,场景法,判定表,因果图,错误推断法,正交测试法
等价类 / 边界值:适合单一输入验证(如输入框);场景法:适合业务流程测试(如支付、登录);判定表 / 因果图:适合多条件组合逻辑(如权限控制);错误推断法:补充遗漏场景(依赖经验);正交测试法:适合多参数交互(减少用例数量)。
2025-07-13 08:12:50
1358
原创 了解MongoDB分片
分片(sharding)是将数据进行拆分,将它们分散地保存在不同的机器上的过程。MongoDB 实现了自动分片功能,能够自动地切换数据和做负载均衡。为什么会诞生分片这种功能的需求呢?我们可以结合工作中的生产环境来思考。比如我们启动了一个 MongoDB 服务,放置在一台服务器中,作为对 Web 网站的数据库服务。
2025-07-11 01:17:39
919
原创 百度网盘1000GB空间每月免费领!操作说明在这里
新用户:活动期间下载安装百度网盘APP,注册登录后即可获得百度网盘VIP(3天)老用户:已在使用百度网盘的用户,点击免费领前往百度网盘APP,即可获得500G空间(30天)(复制下方口令,然后关闭百度网盘APP,再重新打开百度网盘APP即可弹出领取窗口)(复制后可打开微信,再切回百度网盘APP)两个活动链接的领取方式相同,分别可以领取500GB,可以叠加如何查看是否领取成功打开百度网盘APP,点击我的。4、确保您的百度网盘APP为最新版本,以免无法参与活动。2、活动奖品数量有限,领完即止,先到先得。
2025-07-10 16:52:03
12561
1
原创 了解MongoDB复制集
复制集简介可以集群部署多个MongoDB服务器是MongoDB数据库的特点之一。集群部署MongoDB有什么好处?可以进行复制是集群部署带来的好处之一。MogoDB复制是MongoDB自动将数据同步到多个服务器的过程,设置好策略之后免去了人工操作。复制提供了数据的元余备份,并在多个服务器上存储数据副本,提高了数据的可用性,并保证数据的安全性。有了复制,我们就可以从硬件故障和服务中断中恢复数据。MongoDB的复制也就是为数据实现了狡兔三窟。
2025-07-10 08:09:12
1379
原创 .Net中IOC控制反转
/ 注册自定义类// 在其他服务中使用.NET 内置的 DI 容器足以满足大多数场景,第三方容器(如 Autofac)则提供更高级的功能(如 AOP、属性注入)。合理使用 IoC 可降低代码耦合度,提升可维护性和可测试性。
2025-07-09 21:17:57
745
清华大学发布《DeepSeek从入门到精通》,解析中国AGI技术及应用
2025-02-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅