简单来讲讲C#中的锁
🔑 简单来讲讲C#中的锁
✨ 前言
今天来说说C#中的锁,锁在日常开发中还是很常用的,但是用的不得当,或者骚操作比较多那么就会导致死锁,从而导致系统崩溃。
后面我会出一系列文章,来讲讲C#里面的代码和技巧,通过不断的学习积累,以达到我的跳槽目标。
文章中有任何错误的地方都可以指出,博主也在不断的学习中~
📖 简述
...
使用Inno Setup打包安装程序exe流程
使用Inno Setup制作WPF开发的桌面应用程序流程
1.项目框架布局
项目目录:D:\Project\XenD101H\Tools,这个目录我将下载innosetup-6.2.2.exe 安装的程序放置这里,以及有几个脚本执行文件,最后输出RadarSensorConfigTool.exe,放置在D:\Project\XenD101H\Tools\Install\Output这个目录下
2.制作安装包流程:
2.1 下载in ...
EF Core 与 MySQL:日志和调试详解
本文将详细讲解EF Core与MySQL的日志和调试,分为三个部分:EF Core日志配置、MySQL日志查看以及使用调试工具分析查询性能。
1. 配置 EF Core 日志
基本日志配置
// 在DbContext配置中启用日志记录
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
var connectionString = "server= ...
国产化Excel开发组件Spire.XLS教程:C# 轻松将 DataSet 导出到 Excel
在 C# 开发中,DataSet 常用于管理内存中的数据,通常来源于数据库查询或系统集成过程。在很多情况下,你可能需要将 DataSet 导出为 Excel 文件——例如生成报表、与非开发人员共享结构化数据,或将记录归档以便后续参考。
E-iceblue旗下Spire系列产品是国产文档处理领域的优秀产品,支持国产化,帮助企业高效构建文 ...
Runtime Async - 步入高性能异步时代
同步代码和异步代码
一般而言,代码可分为同步与异步两类。两者同样需要等待操作完成:同步会阻塞当前线程,直至操作结束后再继续执行后续逻辑;异步则不阻塞当前线程,而是在发起操作时预先注册完成后的处理逻辑,待操作完成时由操作本身或外部机制触发该逻辑。
于是这就带来一个问题,那就是同步代码和异步代码的写法是完 ...
EF Core 与 MySQL:事务和并发处理详解
本文将详细讲解EF Core与MySQL的事务和并发处理,分为三个部分:使用事务、处理并发冲突(乐观并发)以及悲观并发(MySQL中使用锁)。
使用事务在EF Core中,可以使用事务来确保一系列操作要么全部成功,要么全部失败。EF Core支持多种事务管理方式,包括自动事务(SaveChanges自动包装事务)和显式事务。
处 ...
Excel处理控件Aspose.Cells教程:如何将Excel区域转换为Python列表
在 Python 中处理 Excel 数据通常需要将特定的行和列提取为列表格式。将 Excel 范围转换为 Python 列表对于以下任务非常有用:
使用Pandas和NumPy进行数据分析
报告和 ETL 流程的自动化
与机器学习模型或 API 集成
在本教程中,我们将逐步学习如何借助Aspose.Cells在 Python 中将定义的 Excel 范围转换为列表。
Asp ...
WPF 通过 WriteableBitmap 实现 TAGC 低光增强效果算法
开始之前,必须感谢 只(挚)爱图像处理 - Imageshop 大佬的分享。本文将参阅 伊拉克团队的TAGC(低光增强效果)算法实现。 - Imageshop - 博客园 进行实现
原论文信息如下:
论文标题: Tuning adaptive gamma correction (TAGC) for enhancing images in low light
发表日期: 2025年07月
作者: Ghufran Alhamzawi, Alfoudi A ...
EF Core 与 MySQL:查询优化详解
本文将详细讲解EF Core与MySQL的查询优化,包括使用AsNoTracking提高查询性能,使用Include和ThenInclude进行贪婪加载,使用Select进行投影查询、原始SQL查询,使用索引优化查询,其他优化技巧如分页、批量操作和查询编译,性能监控和诊断工具的使用。
1. 使用 AsNoTracking 提高查询性能
基本用法
// 常规查询(会跟踪实 ...
文档处理控件Aspose.Words教程:在 C# 中将 Markdown 转换为 PDF
Markdown 被广泛用于使用纯文本语法创建格式化文本。许多开发人员喜欢用它来编写文档、注释和内容格式。然而,我们经常需要将Markdown文档生成专业的PDF文件。本文将学习如何借助Aspose.words for .NET,使用 C# 将 Markdown 转换为 PDF。
通过这种方法,您可以.md以编程方式将文件转换为高质量的 PDF 文档,从而可以控制 ...
EF Core 与 MySQL:迁移和关系配置详解
本文将详细讲解EF Core与MySQL的关系配置和迁移,包括一对一、一对多、多对多关系的配置,使用Fluent API进行关系配置,处理迁移中的常见问题,以及数据种子的方法。
1. EF Core 中的关系类型
Entity Framework Core 支持三种主要的关系类型:
一对一关系 (One-to-One)
一个实体实例只与另一个实体实例相关联。例如:一 ...
国产化PDF处理控件Spire.PDF教程:在 ASP.NET Core 中创建 PDF的分步指南
在 ASP.NET 应用程序中生成 PDF 是一个常见需求——无论是生成发票、报告、表单,还是导出动态内容。与其依赖复杂的 PDF API 或第三方打印驱动程序,不如使用 Spire.PDF for .NET,这是一款专业且轻量级的库,能够让开发人员以编程方式创建和操作 PDF 文档。
在本教程中,我们将演示如何在 ASP.NET Core Web&nbs ...
EF Core 与 MySQL:介绍与入门实操
简介
EF Core(Entity Framework Core)是Microsoft推出的开源跨平台ORM框架,支持SQL Server、SQLite、MySQL、PostgreSQL等主流数据库,并提供向NoSQL数据库(如Cosmos DB)的扩展能力。它通过DbContext管理实体与数据库的映射关系,提供LINQ查询、CRUD操作及数据库迁移功能,适用于微服务架构、Web API开发等场景。
核心 ...
【RabbitMQ】消息队列理论部分,另一种环境搭建Docker运行RabbitMQ
消息队列与RabbitMQ初探
本章学习目标
理解什么是消息队列以及它解决了什么核心问题。
了解RabbitMQ是什么及其在技术生态中的位置。
另一种方式在本地使用Docker快速搭建一个RabbitMQ服务。
熟悉RabbitMQ的管理控制台。
一、理论部分
1. 同步调用 vs. 异步消息
在传统的应用开发中,组件之间通常通过同步调用(如 ...
【EF Core】再谈普通实体关系与 Owned 关系的区别
在很多个世纪前,老周曾写过实体之间普通关系(一对一,一对多,多对多)与 Owned 关系的区别。不过,那次写得比较粗浅,逼格不够高,于是,老周厚着脸皮地决定重新写一下。
首先,为什么这次老周用原单词 Owned 呢,官方文档目前的翻译(怀疑是机器干的)为“从属”,这种说法与普通关系数据库中一对多、多对多等关系描述 ...
记一次 .NET 某跨境物流系统 内存暴涨分析
一:背景
1. 讲故事
分享了几篇崩溃,这一篇跟大家分享一例内存暴涨,训练营里有位学员朋友找到我,说他们的软件存在内存暴涨,让我帮忙看下怎么回事,dump也抓到了。
二:内存暴涨分析
1. 内存真的暴涨吗
一直都给训练营里的学员灌输一个思想,就是不要相信任何人说的话,而应该是以数据说话,由于是 linux dump,可以使用 ...
推荐一款线程or进程间数据同步解决方案
在实际开发中,数据同步非常重要,特别是跨线程或者进程之间数据交互的时候,如果不能进行数据同步管理,那各个线程或者进程之间就会产生数据错乱问题,比如A程序用的是更新之前的数据,B数据用的是更新之后的数据,这会造成很严重的后果。今天我们以一个简单的小例子,介绍一款线程or进程之间数据同步的解决方案,谨供学习 ...
国产化Excel处理组件Spire.XLS教程:C# 读取 CSV 文件,从基础读取到 DataTable 转换
CSV(逗号分隔值)作为轻量级数据交换格式,广泛应用于财务报表、用户数据、分析结果等场景。在.NET 开发中,高效处理和解析 CSV 文件是一项基础且重要的技能。本文将介绍如何借助Spire.XLS for .NET 通过 C# 读取 CSV 文件,包括直接读取和将 CSV 转换为 DataTable 两种方式。
Spire.XLS for .NET试用下载,请 ...
条码控件Aspose.BarCode教程:使用 C# 构建 Code11 条形码生成器
目前,信息编码主要使用条形码。条形码类型众多,其中 Code11 是广泛使用的条形码标准之一。本文将介绍如何以编程方式开发 Code11 条形码生成器。如果您希望将条形码生成功能集成到您的 .NET 应用程序中,那么本指南非常适合您。我们将使用Aspose.BarCode for .NET,这是一款功能丰富的条形码生成器 SDK。此外,我们将实现 ...
记一次 .NET 某中医药附属医院门诊系统 崩溃分析
一:背景
1. 讲故事
前段时间有位训练营的学员找到我,说他们的软件在客户那边崩溃了,没找到是什么原因,比较着急,让我帮忙看下是怎么回事?毕竟我的学员是永久的免费dump分析,必须给他上一卦。
二:崩溃分析
1. 为什么会崩溃
关于怎么分析崩溃dump,这个在训练营里面早已整出来了套路,先用 !analyze -v 自动化分析崩溃 ...