记一次 .NET 某旅行社Web站 CPU爆高分析

博主头像 一:背景 1. 讲故事 前几天有位朋友wx求助,它的程序内存经常飙升,cpu 偶尔飙升,没找到原因,希望帮忙看一下。 可惜发过来的 dump 只有区区2G,能在这里面找到内存泄漏那真有两把刷子。。。😂😂😂,所以我还是希望他的程序内存涨到 5G+ 的时候再给我看看,既然内存看不了,那就看看这个偶 ...

C#常见的文件路径Api

博主头像 我们经常有遇到要处理文件路径的需求,那么一般我们常见的有几种: 程序下面的文件 临时目录下的文件 获取程序下面的文件 首先我们创建了实例解决方案: 其中调用链是:Main.Shell->FooALibrary->,首先我们将FooAFolder.txt和FooA.txt的文件属性设置生成操作为内容, ...

C#如何加载嵌入到资源的非托管dll

博主头像 如何加载非托管Dll 我们总会遇到需要加载非Win32的非托管dll,这里推荐一种方式就是将那些非win32的非托管dll嵌入资源的方式,在入口解压并且加载的方式,我先来看看如何实现吧,首先我们准备好demo,新增控制台项目如下: 代码如下: static void Main(string[] ar ...

C#利用RabbitMQ实现点对点消息传输

博主头像 RabbitMQ做为消息代理,负责接收和转发消息,可以将RabbitMQ比喻为一个邮筒、一个邮局和一个邮递员。本文主要以一个简单的小例子,简述RabbitMQ实现消息传输的相关内容,仅供学习分享使用,如有不足之处,还请指正。 ...

干货,使用布隆过滤器实现高效缓存!

博主头像 前言 本文主要描述,使用布隆过滤实现高效缓存。文中采用数组做为缓存,如果需要高并发命中,则需将文中的数组换成Redis数据库。 布隆过滤 布隆缓存的创建过程如下: 1,先定义缓存bit数组(BitArray),数组的长度就是缓存数据的最大数量。 2,然后将字符串通过哈希运算,求出它的HashCode ...

记一次 .NET 某医院HIS系统 CPU爆高分析

博主头像 一:背景 1. 讲故事 前几天有位朋友加 wx 抱怨他的程序在高峰期总是莫名其妙的cpu爆高,求助如何分析? 和这位朋友沟通下来,据说这问题困扰了他们几年😂,还请了微软的工程师过来解决,无疾而终,应该还是没找对微软的大佬。。。 关于程序CPU爆高的问题,老读者应该知道我都写了好几篇了,基本上归为两 ...

C# 8.0和.NET Core 3.0高级编程 分享笔记三:控制流程和转换类型

控制流程和转换类型 本章的内容主要包括编写代码、对变量执行简单的操作、做出决策、重复执行语句块、将变量或表达式值从一种类型转换为另一种类型、处理异常以及在数值变量中检查溢出。 本章涵盖以下主题: 操作变量 理解选择语句 理解迭代语句 类型转换 处理异常 检查溢出 ##3.1操作变量 运算符可将简单的 ...

C#下通过wbemtest和WMI Code Cretor更加高效的访问WMI

能找到这篇博客的,相信都是有操作WMI需求的了。但是不知道如何快速验证、并集成到C#来操作WMI。我们分为3步: ##第一步:官网(或跟硬件开发WMI的人沟通你需要的接口和参数定义,如果是和硬件开发的人协定WMI接口,直接看第二步)查找你需要的WMI信息; 举例我需要获取显示器信息 我先biying ...

C#事件总线

博主头像 事件总线是对发布-订阅模式的一种实现,是一种集中式事件处理机制,允许不同的组件之间进行彼此通信而又不需要相互依赖,达到一种解耦的目的。 EventBus维护一个事件的字典,发布者、订阅者在事件总线中获取事件实例并执行发布、订阅操作,事件实例负责维护、执行事件处理程序。 ...

一句 Task.Result 就死锁, 这代码还怎么写?

博主头像 一:背景 1. 讲故事 前些天把 .NET 高级调试 方面的文章索引到 github 的过程中,发现了一个有意思的评论,详见 文章,截图如下: 大概就是说在 Winform 的主线程下执行 Task.Result 会造成死锁,我也看了图中的参考链接, Stephen 是绝对的大佬,不过这篇文章对死锁 ...

c#打印机脱机检查及阻塞打印

博主头像 在使用winform编写自动打印服务的过程中,发现只要进行了打印命令的调用,文档就会进入到打印等待队列,如果打印机无法正常工作,则会影响到相关业务数据的正确转换,所以需要检查打印机的状态来保障每次打印时打印机处于空闲状态,打印时队列中也只能有一个文档,本文是通过引用System.Management ...

C#/VB.NET 自定义PPT动画路径

博主头像 PPT中的动画效果可分为已有内置动画以及自定义动画。设置内置动画,只需直接指定动画效果类型即可。本文主要介绍如何实现自定义动画,即自定义形状动作线性路径。附C#及VB.NET代码供参考。 程序运行环境如下: .Net Framework 4.8 Visual Studio Spire.Present ...

记一次 .NET 医院CIS系统 内存溢出分析

博主头像 一:背景 1. 讲故事 前几天有位朋友加wx求助说他的程序最近总是出现内存溢出,很崩溃,如下图: 和这位朋友聊下来,发现他也是搞医疗的,哈哈,.NET 在医疗方面还是很有市场的😁😁😁,不过对于内存方面出的问题,我得先祈祷一下千万不要是非托管。。。 废话不多说,上 windbg,看能不能先救个急 ...

c#使用Aspose打印文件

博主头像 最近在研究winform打印文件,需要支持word,excel,ppt,pdf,图片这几种格式,不能依赖相关软件环境,研究后决定使用Aspose套件将相关文件全部转换成pdf后打印 WrodToPDF 使用Aspose.Word 11.9,需要配合licence文件破解 //去水印 string l ...

记一次 .NET 某教育系统API 异常崩溃分析

博主头像 一:背景 1. 讲故事 这篇文章起源于 搬砖队大佬 的精彩文章 WinDBg定位asp.net mvc项目异常崩溃源码位置 ,写的非常好,不过美中不足的是通览全文之后,总觉得有那么一点不过瘾,就是没有把当时抛异常前的参数给找出来。。。这一篇我就试着弥补这个遗憾😁😁😁。 为了能够让文章行云流水, ...

记一次 .NET医疗布草API程序 内存暴涨分析

博主头像 一:背景 1. 讲故事 我在年前写过一篇关于CPU爆高的分析文章 再记一次 应用服务器 CPU 暴高事故分析,当时是给同济做项目升级,看过那篇文章的朋友应该知道,最后的结论是运维人员错误的将 IIS 应用程序池设成 32bit 导致了事故的发生,这篇算是后续😂😂😂,拖了好久才续上哈。 犹记得那 ...

记一次 .NET WPF布草管理系统 挂死分析

博主头像 一:背景 1. 讲故事 这几天看的 dump 有点多,有点伤神伤脑,晚上做梦都是dump,今天早上头晕晕的到公司就听到背后同事抱怨他负责的WPF程序挂死了,然后测试的小姑娘也跟着抱怨。。。嗨,也不知道是哪一个迭代改出来的问题,反正客户不起义问题都不大。😅😅😅 不过我听到程序无响应,内心深处真的 ...

C#中的JSON序列化方法

博主头像 在C#中的使用JSON序列化及反序列化时,推荐使用Json.NET——NET的流行高性能JSON框架,当然也可以使用.NET自带的 System.Text.Json(.NET5)、DataContractJsonSerializer、JavaScriptSerializer(不推荐)。 ...

记一次 .NET医院公众号系统 线程CPU双高分析

博主头像 一:背景 1. 讲故事 上周四有位朋友加wx咨询他的程序出现 CPU + 线程 双高的情况,希望我能帮忙排查下,如下图: 从截图看只是线程爆高,没看到 cpu 爆高哈😂😂😂,有意思的是这位朋友说他: 一直在手动回收 ,不知道为啥看着特别想笑,但笑着笑着就哭了。 可能朋友知道老规矩,发了两份du ...

<1234···30>