刷新
记一次 .NET某列控连锁系统 崩溃分析

博主头像 一:背景 1. 讲故事 过年喝了不少酒,脑子不灵光了,停了将近一个月没写博客,今天就当新年开工写一篇吧。 去年年初有位朋友找到我,说他们的系统会偶发性崩溃,在网上也发了不少帖子求助,没找到自己满意的答案,让我看看有没有什么线索,看样子这是一个牛皮藓的问题,既然对方有了dump,那就分析起来吧。 二: ...

c# 操作ftp服务器文件

博主头像 好久不见,我又回来了。 给大家分享一个我最近使用c#代码操作ftp服务器的代码示例: 1 public abstract class FtpOperation 2 { 3 /// <summary> 4 /// FTP服务器地址 5 /// </summary> 6 private string f ...

Unity中的SerializeReference使用简介

博主头像 Unity 默认可以序列化值类型, Serializable属性修饰的类型, 派生自UnityEngine.Object的类型, 通常这些类型已经足以供日常使用了. 但是有时我们希望在编辑器面板上序列化一个接口或者抽象类, 则需要用到 SerializeReference属性. 假定我们有一个接口I ...

使用 .NET 8.0 和 OpenGL 创建一个简易的渲染器

博主头像 前言我个人对三维渲染领域的开发有着浓厚的兴趣,尽管并未在相关行业工作过,我的了解还很片面。去年,在与群友聊天时,他们推荐了一本《Unity Shader入门精要》,说适合像我这样想自学的新人,于是我打开了通往新世界的大门。这本书涵盖了很多基础的渲染知识,如光照、阴影、各种风格的渲染等等。对于有兴趣的 ...

C#多线程精解:优雅终止线程的实用方法与技巧

博主头像 概述:在C#多线程编程中,合理终止线程是关键挑战。通过标志位或CancellationToken,实现安全、协作式的线程终止,确保在适当时机终止线程而避免资源泄漏。 应用场景: 在C#多线程编程中,有时需要终止正在运行的线程,例如在用户取消操作、程序关闭等情况下。 思路: 线程终止通常涉及到合作式终 ...

C#实现异步编程的常用方式总结

博主头像 随着现代软件对性能和响应速度的要求越来越高,异步编程已经成为许多开发者必须掌握的技能。C# 提供了多种实现异步编程的方式,每种方式都有其特定的适用场景和优缺点。本文将详细介绍 C# 中实现异步编程的常用方式,帮助读者更好地理解并选择合适的异步编程方法。 一、Task 和 Task C# 5.0 引入 ...

C#使用MiniExcel导入导出数据到Excel/CSV文件

博主头像 MiniExcel简介 简单、高效避免OOM的.NET处理Excel查、写、填充数据工具。 目前主流框架大多需要将数据全载入到内存方便操作,但这会导致内存消耗问题,MiniExcel 尝试以 Stream 角度写底层算法逻辑,能让原本1000多MB占用降低到几MB,避免内存不够情况。 特点: 低内存 ...

WPF魔法:轻松实现依赖注入与控制反转提升代码优雅性与可维护性

博主头像 概述:在WPF中实现依赖注入和控制反转,通过定义接口、实现类,配置容器,实现组件解耦、提高可维护性。 什么是依赖注入和控制反转? 依赖注入(Dependency Injection,DI): 是一种设计模式,旨在减少组件之间的耦合度。通过依赖注入,对象不再自行创建或查找依赖对象,而是通过外部注入的方 ...

C# - 将HTML网页、HTML字符串转换为PDF

博主头像 将HTML转换为PDF可实现格式保留、可靠打印、文档归档等多种用途,满足不同领域和情境下的需求。本文将通过以下两个示例,演示如何使用第三方库Spire.PDF for .NET和QT插件在C# 中将Html 网页(URL)或HTML字符串转为PDF文件。 HTML转PDF所需工具: 1. Spire ...

TopShelf创建服务

TopShelf创建Windows服务 安装NuGet包TopShelf 如图1-1所示,先安装TopShelf的NuGet包; 图1-1 创建服务类 如图1-2所示,创建一个ServiceManager服务类,并创建了两个方法,分别为Start和Stop方法,分别在服务启动和停止时调用; 图2-1 ...

C#邮件发送

C#基于SMTP的邮件发送 准备工作 注册邮箱 首先我们需要注册一个作为发送邮件的邮箱,这一步可以直接进入网易邮箱官网进行注册, 注册地址:https://mail.163.com/ 这里我们可以选择【快速注册】和【普通注册】,如图1-1所示,这里我选择的普通注册; 图1-1 登录邮箱 注册完成之后 ...

<1···141516···21>