刷新
记一次 .NET某炉膛锅炉检测系统 崩溃分析

博主头像 一:背景 1. 讲故事 上个月有个朋友在微信上找到我,说他们的软件在客户那边隔几天就要崩溃一次,一直都没有找到原因,让我帮忙看下怎么回事,确实工控类的软件环境复杂难搞,朋友手上有一个崩溃的dump,刚好丢给我来分析一下。 二:WinDbg分析 1. 程序为什么会崩溃 windbg 有一个厉害之处在于 ...

wpf程序修改启动入口注意事项

博主头像 如果你在自定义的 Main 方法中直接使用 App 类并启动应用程序,但发现 App.xaml 中定义的资源没有被正确加载,那么问题可能在于如何正确配置 App.xaml 与你的 App 类的交互。 确保 App.xaml 文件中的 x:Class 属性正确指向你的 App 类。这样,当你创建 Ap ...

C# 冻结Excel窗口以锁定行列、或解除冻结

博主头像 在处理大型Excel工作簿时,有时候我们需要在工作表中冻结窗格,这样可以在滚动查看数据的同时保持某些行或列固定不动。冻结窗格可以帮助我们更容易地导航和理解复杂的数据集。相反,当你不需要冻结窗格时,你可能需要解冻它们以获得完整的视野。 下面将介绍如何使用免费.NET库通过C#实现冻结Excel窗口以锁 ...

c# LiteDB的基础用法

博主头像 LiteDB 是一个轻量级的嵌入式 NoSQL 数据库,其设计理念与 MongoDB 类似,但它是完全使用 C# 开发的,因此与 C# 应用程序的集成非常顺畅。与 SQLite 相比,LiteDB 提供了 NoSQL(即键值对)的数据存储方式,并且是一个开源且免费的项目。它适用于桌面、移动以及 We ...

WPF性能优化示例:使用VirtualizingStackPanel提升界面加载速度

博主头像 概述:WPF界面绑定和渲染大量数据可能导致性能问题。通过启用UI虚拟化、异步加载和数据分页,可以有效提高界面响应性能。以下是简单示例演示这些优化方法。 在WPF中,当你尝试绑定和渲染大量的数据项时,性能问题可能出现。以下是一些可能导致性能慢的原因以及优化方法: UI 虚拟化: WPF提供了虚拟化技术 ...

C#的AOP(最经典实现)

博主头像 (适用于.NET/.NET Core/.NET Framework) 【目录】0.前言1.第一个AOP程序2.Aspect横切面编程3.一个横切面程序拦截多个主程序4.多个横切面程序拦截一个主程序5.AOP的泛型处理(扩充)6.AOP的异步处理(扩充)7.优势总结8.展望 0.前言 AOP(Aspe ...

c# 实现Quartz任务调度

博主头像 使用 Quartz.NET,你可以很容易地安排任务在应用程序启动时运行,或者每天、每周、每月的特定时间运行,甚至可以基于更复杂的调度规则。 官网:http://www.quartz-scheduler.net/ 实现任务类 创建一个实现了 IJob 接口的类(MailJobTest),该接口包含一个 ...

Avalonia跨平台智能提问ChatAI

Avalonia跨平台智能提问ChatAI 1.写在前面 最近想做一个跨平台智能提问,在网上找了一些智能提问的资料。百度智能云和腾讯云。 2.Avalonia Avalonia 是 DotNet 的跨平台 UI 框架,提供灵活的样式系统,支持 Windows、macOS、Linux、iOS、Andr ...

记一次 .NET某管理局检测系统 内存暴涨分析

博主头像 一:背景 1. 讲故事 前些天有位朋友微信找到我,说他们的WPF程序有内存泄漏的情况,让我帮忙看下怎么回事?并且dump也抓到了,网上关于程序内存泄漏,内存暴涨的文章不计其数,看样子这个dump不是很好分析,不管怎么说,上 windbg 说话。 二:WinDbg分析 1. 内存真的暴涨吗 在.NET ...

OOP 定义

博主头像 面向对象编程(OOP)是一种使用对象及其相互作用设计应用和计算机程序的编程范例。 OOP 中有一些基本的编程概念: 抽象化 (抽象化,也在我们编程世界中 所有类都是抽象化,物以类聚,拥有共同的特性或者行为) 椅子类 人类 动物类 【本质就是归类】 多态性 【一类多种表现形态】【本质就是抽象化的程度】 ...

学习Source Generators之从swagger中生成类

博主头像 前面学习了一些Source Generators的基础只是,接下来就来实践一下,用这个来生成我们所需要的代码。 本文将通过读取swagger.json的内容,解析并生成对应的请求响应类的代码。 创建项目 首先还是先创建两个项目,一个控制台程序,一个类库。 添加swagger文件 在控制台程序中添加F ...

学习Source Generators之IncrementalValueProvider

博主头像 前面我们使用了IIncrementalGenerator来生成代码,接下来我们来详细了解下IIncrementalGenerator的核心部分IncrementalValueProvider。 介绍 IncrementalValueProvider是基于管道的模式,将我们需要的数据进行处理转换后传递 ...

socket 接收数据时粘包处理 c# winform

博主头像 socket在接收数据时,经常会因为网络延迟、缓存区数据处理不及时等原因造成收到的数据是多个包黏在一起的情况。如下图所示 图中红色框部分是通讯的 心跳包 图中黄色框部分和未框选部分是 两包 数据包 所以可见此时缓存区里面同时存在了一个心跳包,两个数据包 如何分包(此处仅针对几个完整的数据包在一起的情 ...

123···29>