刷新
使用Inno Setup打包安装程序exe流程

博主头像 使用Inno Setup制作WPF开发的桌面应用程序流程 1.项目框架布局 项目目录:D:\Project\XenD101H\Tools,这个目录我将下载innosetup-6.2.2.exe 安装的程序放置这里,以及有几个脚本执行文件,最后输出RadarSensorConfigTool.exe,放 ...

Runtime Async - 步入高性能异步时代

博主头像 同步代码和异步代码 一般而言,代码可分为同步与异步两类。两者同样需要等待操作完成:同步会阻塞当前线程,直至操作结束后再继续执行后续逻辑;异步则不阻塞当前线程,而是在发起操作时预先注册完成后的处理逻辑,待操作完成时由操作本身或外部机制触发该逻辑。 于是这就带来一个问题,那就是同步代码和异步代码的写法是 ...

记一次 .NET 某跨境物流系统 内存暴涨分析

博主头像 一:背景 1. 讲故事 分享了几篇崩溃,这一篇跟大家分享一例内存暴涨,训练营里有位学员朋友找到我,说他们的软件存在内存暴涨,让我帮忙看下怎么回事,dump也抓到了。 二:内存暴涨分析 1. 内存真的暴涨吗 一直都给训练营里的学员灌输一个思想,就是不要相信任何人说的话,而应该是以数据说话,由于是 li ...

记一次 .NET 某中医药附属医院门诊系统 崩溃分析

博主头像 一:背景 1. 讲故事 前段时间有位训练营的学员找到我,说他们的软件在客户那边崩溃了,没找到是什么原因,比较着急,让我帮忙看下是怎么回事?毕竟我的学员是永久的免费dump分析,必须给他上一卦。 二:崩溃分析 1. 为什么会崩溃 关于怎么分析崩溃dump,这个在训练营里面早已整出来了套路,先用 !an ...

聊一聊 .NET 中的 CompositeChangeToken

博主头像 一:背景 1. 讲故事 上一篇跟大家聊到了 CancellationTokenSource,今天跟大家聊到的是另一个话题叫组合变更令牌 CompositeChangeToken,当前我所有的研究都是基于dump分析之用,所以偏重的点自然就不一样,如果纯纯的研究源码那可能就是入门到放弃。。。接下来说下 ...

聊一聊 .NET 的 AssemblyLoadContext 可插拔程序集

博主头像 一:背景 1. 讲故事 最近在分析一个崩溃dump时,发现祸首和AssemblyLoadContext有关,说实话这东西我也比较陌生,后来查了下大模型,它主要奔着替代 .NetFrameWork 时代的 AppDomain 的,都是用来做晚期加卸载,实现对宿主程序的可插拔,AppDomain.Cre ...

如何使用PocoEmit.Mapper替代AutoMapper

PocoEmit使用比较简单对于大部分转化是不需要手动配置 可以替代AutoMapper的大部分工作,实现精简代码,提高性能 一、获取Mapper实例 1. 获取Mapper默认实例 Default是一个静态延迟初始化的默认实例 IMapper mapper = PocoEmit.Mapper.De ...

记一次 .NET 某放射治疗光学定位软件 卡死分析

博主头像 一:背景 1. 讲故事 前段时间微信上有位非调试训练营学员找到我,说他们的医疗软件有点问题,有时候卡了一会就好了,有时候卡了很久,让我帮忙看下怎么回事,我让这位朋友在卡的时候抓一个dump给我,我分析看看。 二:卡死分析 1. 为什么会卡死 对于窗体程序的卡死,主要就是看主线程此时正在做什么,使用 ...

婶可忍叔不可忍的AutoMapper,你还用吗?

AutoMapper是让人又爱又恨的项目 爱它是因为它解决了一些问题,很多项目都有用,下载量很大,受众很广。 恨它是因为它诸多反人类的设计。 为此本人开源项目PocoEmit对标AutoMapper。 1. AutoMapper反人类设计 1.1 AutoMapper注册代码 services.Ad ...

记一次 .NET 某企业审批系统 崩溃分析

博主头像 一:背景 1. 讲故事 今年年初有位朋友在微信上找到我,说他们的系统在客户这边崩掉了,在代码中也加了全局异常处理但还是崩,不知道咋回事,让朋友在客户那边拿程序dump,拿到dump之后开始分析。 二:崩溃分析 1. 为什么会崩溃 既然是崩溃,那就用 !analyze -v 命令观察下windbg给我 ...

用代码写代码:使用Roslyn API构建语法树并应用于源生成器

博主头像 在上文构建源生成器的过程中,我们使用字符串直接插入代码。这样做固然方便快捷,但字符串需要手动格式化,且无法检测拼写错误,这对需要生成复杂结构的源生成器项目很不友好。 本文将介绍生成代码的另一种方式:使用Roslyn API构建语法树。 什么是语法树 (Syntax Tree)? 语法树是编译器用于理 ...

C# 源生成器(Source Generator)入门

博主头像 C#9 引入了一个强大的机制:源生成器(Source Generator)。通过创建源生成器,我们可以简化大量重复编写的代码,或是减少反射来获得更强的性能以及AOT支持 本文将介绍如何从零开始创建一个最简单的源生成器 创建生成器项目 创建一个SourceGeneratorDemo.Generator ...

记一次 .NET 某人力资源网 CPU爆高分析

博主头像 一:背景 1. 讲故事 前段时间微信里有一位非训练营学员找到我,说他们的系统在某些时段会cpu爆高,并伴有网络带宽的激增,不知道是什么情况,让我帮忙看下怎么回事,哈哈,说这个故障之前,我先吐槽一下,地狱不空,在社区里我一个人的力量太微弱了,这5年来我给行业内开发朋友都是全免费分析,这也让自己不堪重负 ...

记一次 .NET 某光谱检测软件 内存暴涨分析

博主头像 一:背景 1. 讲故事 训练营里的一位学员找到我,说他们的系统会出现内存暴涨的情况,看了下也不是托管堆的问题,让我协助一下到底怎么回事?既然有dump了,那就开始分析之旅吧。 二:内存暴涨分析 1. 为什么会暴涨 在分析之前还是那条原则,不要过分的相信求助者的话,否则容易被他带沟里去,毕竟人家是业余 ...

记一次 .NET 某工控PCB巡检系统 崩溃分析

博主头像 一:背景 1. 讲故事 前些天训练营里的一位学员找到我,说他们的系统出现了崩溃,自己分析了遍也没找到是什么原因,让我帮忙看下怎么回事?dump拿到手后,接下来就上windbg分析。 二:崩溃分析 1. 为什么会崩溃 打开dump之后,windbg 会自动定位崩溃点,输出如下: ........... ...

跨域处理

博主头像 跨域处理 //开放所有跨域 response.AddHeader("Access-Control-Allow-Origin", "*"); response.AddHeader("Access-Control-Allow-Credentials", "true"); response.AddHead ...

[原创]《C#高级GDI+实战:从零开发一个流程图》第09章:增加贝塞尔曲线,上、下、左、右连接点

博主头像 一、前言 前面的课程我们添加了诸多形状,但连线还只有直线这一种样式,而且也只能连接形状的中心点。我们本节课就来增加一种很常见的连线样式:贝塞尔曲线。同时也对形状增加多个不同的连接点,不再只连中心了。 相信看完的你,一定会有所收获! 本文地址:https://www.cnblogs.com/lesli ...

<1···67