刷新
记一次 .NET 某药厂业务系统 CPU爆高分析

博主头像 一:背景 1. 讲故事 前段时间有位朋友找到我,说他们的程序出现了CPU爆高,让我帮忙看下怎么回事?这种问题好的办法就是抓个dump丢给我,推荐的工具就是用 procdump 自动化抓捕。 二:Windbg 分析 1. CPU 真的爆高吗 还是老规矩,要想找到这个答案,可以使用 !tp 命令。 0: ...

通过实例详细讲解Quartz.NET的一些高级功能的应用,你用到了多少

博主头像 Quartz.NET 是一个强大的开源作业调度库,提供了许多高级功能。以下是 Quartz.NET 的常用高级功能: Cron 表达式触发器: 使用 Cron 表达式定义灵活的调度规则,实现复杂的时间调度策略。 作业依赖性: 允许定义作业之间的依赖关系,确保它们按照特定的顺序执行。 作业执行中的数据 ...

精准掌握.NET依赖注入:DI自动注册服务轻松搞定

博主头像 概述:.NET依赖注入(DI)通过反射自动注册服务,示例展示了注册指定类、带特性类、项目下所有接口实现的类。简化配置,提高可维护性。 在.NET中,进行依赖注入(DI)的自动注册,可以通过反射机制和程序集扫描来实现。以下是详细的步骤以及相应的C#源代码示例,包括注册指定类、注册带有自定义特性的类、以 ...

识别指定window窗口的文本

博主头像 1. 简单需求 通过图文识别读取一个指定window窗口的文本。 获取窗口句柄,截图保存成bitmap ,调用图文识别库. 测试结果是对中文下的识别不是特别好。 需要注意的是,tessdata要下载指定目录页下。 2. 引用包 a. 引用 tesseract4.1 b. Emgu.CV组件 3. 上 ...

c# 更改快捷方式文件图标

博主头像 c# 更改快捷方式文件图标c# 更改快捷方式文件图标c# 更改快捷方式文件图标c# 更改快捷方式文件图标c# 更改快捷方式文件图标c# 更改快捷方式文件图标c# 更改快捷方式文件图标c# 更改快捷方式文件图标c# 更改快捷方式文件图标 /// <summary> /// 更改快捷方式文件图标 /// ...

构建实时通信应用:使用.NET和SignalR轻松实现前沿技术

博主头像 概述:学习.NET中使用SignalR实现实时通信功能。从安装库、创建Hub,到客户端基础功能,一步步构建实时聊天室。深入讲解分组功能,使您能够定向广播消息。简洁实用,助您轻松掌握实现创新Web应用的技能。 SignalR是一个强大的实时通信库,为.NET应用程序提供轻松的实时功能。它支持双向通信, ...

星索称重/生产管理软件 联机版V1.0

博主头像 星索称重/生产管理软件 联机版V1.0 一、特点 1.支持多用户、多组织管理,灵活控制用户权限。 2.支持地磅秤、智能电子秤、轨道秤等多款称重设备。 3.支持三联单/热敏纸等多种打印模板。 二、系统截图 1.首页 2.批次管理 3.包装称重 4.供应商管理 5.产品管理 6.称重记录 7.产品分组 ...

C# 提取PDF中指定文本、图片的坐标

博主头像 获取PDF文件中文字或图片的坐标可以实现精确定位,这对于快速提取指定区域的元素,以及在PDF中添加注释、标记或自动盖章等操作非常有用。本文将详解如何使用国产PDF库通过C# 提取PDF中指定文本或图片的坐标位置(X, Y轴)。 ✍ 用于操作PDF文件的第三方库为Spire.PDF for .NET。 ...

.net中通过定时任务框架Quartz.NET来实现定期网络状态检查

博主头像 Quartz.NET 是一个用于在 .NET 应用程序中实现作业调度和定时任务的开源框架。它允许你在应用程序中定义和调度作业,支持复杂的调度需求,例如定时、重复、错过执行、依赖性等。下面,我将通过一个简单的实例来详细描述 Quartz.NET 的功能、使用方法,并提供源代码。 在这个示例中,我将使用 ...

聊一聊 .NET高级调试 内核模式堆泄露

博主头像 一:背景 1. 讲故事 前几天有位朋友找到我,说他的机器内存在不断的上涨,但在任务管理器中查不出是哪个进程吃的内存,特别奇怪,截图如下: 在我的分析旅程中都是用户态模式的内存泄漏,像上图中的异常征兆已经明确告诉你了,不是用户态程序吃的内存,那就是内核态程序吃的,比如: 某些驱动程序 操作系统 从概率 ...

在winform blazor hybrid中绘图

博主头像 前几天跟大家介绍了在winform中使用blazor hybrid,而且还说配上blazor的ui可以让我们的winform程序设计的更加好看,接下来我想以一个在winform blazor hybrid中绘图的例子来进行说明,希望对你有所帮助。 效果 在开始之前,先给大家演示一下效果,如下所示: ...

关于C#反射概念,附带案例!

博主头像 反射 C#中的反射是一种使程序在运行时能够动态地获取类型信息并调用其成员的技术。通过反射,程序可以在运行时进行类型的动态加载、创建对象、调用方法和属性,以及访问和修改字段等。反射可以使程序更加灵活,但也增加了一定的性能开销。 在C#中,反射主要是通过System.Reflection命名空间中的类来 ...

关于C#接口的用法详细解答,附上案例说明!

博主头像 接口 C#中的接口是一种定义了一组方法、属性和事件的类型。它只包含成员的声明,而不包含任何实现。接口可以被类通过实现的方式使用,从而使类能够具有接口定义的行为。 接口在C#中被定义为使用interface关键字,接口的成员默认是公共的。类通过使用implements关键字实现接口,并提供接口中定义的 ...

聊一聊 .NET高级调试 中必知的符号表

博主头像 一:背景 1. 讲故事 在高级调试的旅行中,发现有不少人对符号表不是很清楚,其实简而言之符号表中记录着一些程序的生物特征,比如哪个地址是函数(签名信息),哪个地址是全局变量,静态变量,行号是多少,数据类型是什么 等等,目的就是辅助我们可视化的调试,如果没有这些辅助我们看到的都是一些无意义的汇编代码, ...

C#开源克隆类库DeepCloner的功能、优点与妙用

博主头像 在开发过程中有时候我们需要对现有对象进行克隆,我们可以使用DeepCloner类库来完成这个需求功能。 DeepCloner 类库 功能: 深度克隆: DeepCloner 提供深度克隆对象的能力,递归地克隆对象图中的所有引用类型属性。 循环引用处理: 能够处理对象图中的循环引用,防止无限递归。 自 ...

记一次 .NET 某新能源材料检测系统 崩溃分析

博主头像 一:背景 1. 讲故事 上周有位朋友找到我,说他的程序经常会偶发性崩溃,一直没找到原因,自己也抓了dump 也没分析出个所以然,让我帮忙看下怎么回事,那既然有 dump,那就开始分析呗。 二:Windbg 分析 1. 到底是哪里的崩溃 一直跟踪我这个系列的朋友应该知道分析崩溃第一个命令就是 !ana ...

<1···8910···28>