.NET 8 中 Program.cs 的标准结构详解 一个典型的 .NET 8 Web 应用 Program.cs 看起来像这样: // .NET 8 Program.cs - Minimal API 风格 var builder = WebApplication.CreateBuilder(ar ...
一:背景 1. 讲故事 这篇文章起源于和一家 .NET公司 开线上会议时,提出的一个场景问题,程序出现了非托管内存暴涨,这些非托管内存关联的对象都囤积在 终结器队列 中,很显然这是代码中没用 using 及时释放引发的,而这块代码又是第三方组件,你想加也加不了,所以提出了一个设想:能不能设法干预 终 ...
SharpIcoWeb开发记录篇 前言 大佬用.NET 9.0开发了SharpIco轻量级图标生成工具,是一款控制台应用程序,支持AOT发布,非常方便。 ✨ 功能特点 ️ 将PNG图像转换为多尺寸ICO图标 支持生成包含自定义尺寸的ICO图标(最高支持1024×1024) 检查ICO ...
从C#9开始,可以使用record关键字来定义一个具有不可变属性的引用类型,编译器会为该类型生成大量的模板代码。C#10以后,record struct用来定义值类型,record class或record用来定义引用类型。 record(C# reference)这篇官方的文档中,介绍了recor ...
一、前言 前面的课程我们实现了矩形、圆形的拖动,以及不同形状间的连线,在实现的过程中,很多读者都发现并提出来了存在显示质量差有锯齿、拖动不流畅还闪烁等问题,作为承上启下的一节课程,我们本节就来看一上如何解决这些问题。 相信看完的你,一定会有所收获! 本文地址:https://www.cnblogs. ...
本文将会从基础到高级,从简单到复杂的顺序,告诉大家如何调试 dotnet 系应用,特别是桌面端应用。本文将会向大家介绍使用 VisualStudio 大量的功能用来提高调试效率,穿插着也会介绍一些好用的调试辅助工具,以及如何编写方便调试的代码,期望大家通过阅读本文能有所收获 ...
PDF文件因其高度的跨平台兼容性和安全稳定的格式特点,广泛应用于企业文档管理和电子资料传输中。随着PDF文档页数和内容复杂度的增加,拆分PDF成为优化文档处理流程、提升办公效率的重要需求。通过编程方式实现PDF拆分,不仅能自动化处理海量文档,还能根据需求精准提取指定页面、按页码范围分割,甚至基于关键 ...
.NET中好用的MongoDb ORM很少,选择也很少,所以我打造了一款适合SQL习惯的MongoDb ORM,让用户多一个选择。 1、 MongoDB ORM教程 1.1 NUGET 安装 SqlSugar.MongoDbCore SqlSugarCore 1.2 已支持功能 单表CRUD+分页+ ...
芯片测试中 检查 LDO 电压(Low Dropout Regulator Voltage) 是一个非常关键的环节,用于验证芯片内部或外部 LDO 是否正常输出稳定的电压,为核心模块提供可靠电源。 1.什么是 LDO 电压测试 LDO(低压差线性稳压器) 通常存在于芯片内部,用于将外部较高电压(如 ...
一:背景 1. 讲故事 本篇是系列的最后一篇,我们从跨平台部署和自定义诊断的角度跟大家聊一聊 dottrace,希望对大家有所启发。 二:跨平台和自定义诊断 1. 如何跨平台诊断分析 如果 dottrace 只能在 windows 平台上跑,那确实不值得写一个系列,目前它可以横跨三大平台(Windo ...
基于SharpIco开发图片转ICO工具网站 SharpIcoWeb 项目介绍 SharpIcoWeb是基于SharpIco开发的图片转ICO工具网站,支持上传png、jpg等图片转换为多尺寸的Ico图片文件。采用前后端分离技术。 后端接口使用 .NET Minimal API开发,够轻量。 � ...
泛型(Generics)是C#中的一种强大的强类型扩展机制,在申明时用“占位符”类型参数“T”定义一个“模板类型”,比较类似于C++中的模板。泛型在使用时指定具体的T类型,从而方便的封装、复用代码,提高类型的安全性,减少类型转换和装箱。 ...
一:背景 1. 讲故事 现如今的很多代码都是awaitasync+Task的方式,对它们进行性能洞察非常有必要,awaitasync 本质上就是将状态机塞入到 Task 的 m_continuationObject 延续字段上,和 ContinueWith 没有本质区别,这一篇我们就来聊一聊。 二: ...
在开始之前说明一下,你不要指望阅读完本文后会得到光,就算得到光你也未必能变成迪迦。本文老周仅介绍原理,可以给部分大伙伴们解惑。 咱们都知道,在派生 DbContext 类时,集体类的集合用 DbSet<TEntity> 表示,而咱们最常用的方法是在 DbContext 的派生类中公开 DbSet<T ...
一:背景 1. 讲故事 分析托管和非托管内存暴涨,很多人潜意识里都会想到抓dump上windbg分析,但我说可以用dottrace同样分析出来,是不是听起来有点让人惊讶,哈哈,其实很正常,它是另辟蹊径采用底层的ETW机制,即开启 windows 底层日志,所以 dottrace 可以做,官方血统的 ...
public class GlobalService { private static IServiceScope? _currentScope; private static readonly Lazy<string> _serverAddress = new Lazy<string>(GetSe ...
一:背景 1. 讲故事 在我分析的众多dump中,有一些CPU爆高是因为高频的抛 Exception 导致,比如下面这张图,有 19 个线程都在抛 xxxResultException 异常。 从卦中虽知大量异常的痕迹,但从严谨的角度来说,最好再卜一卦,就是用 perfview 或者 dottrac ...
芯片测试中“由 MCU 下载程序,测试芯片内部接口、FLASH 等情况并反馈结果”通常是在生产测试(ATE)或板级测试(ATE-BIT/BIST)阶段使用的一种自测试(BIST)机制,主要用于验证芯片功能是否合格,特别适用于 射频芯片、SoC、MCU 芯片 等具有 Flash 或外设的器件。 1.整 ...
简介 Syncfusion 是一个老牌.net组件供应商,旗下有很多基于.net技术栈的企业级UI库,涵盖了当下流行的web PC mobile 等平台的UI控件和报表工具。包括针对PDF word excel、PPT等文档的处理库,功能相当全面。这里放一张他们产品线的截图 最最重要的是,他们的大部 ...
一:背景 1. 讲故事 写这一篇是因为昨天看 dottrace 官方文档时,在评论区看到了一条不友好的评论,截图如下: 虽然语气上带有些许愤怒,但说实话人家也不是无中生有,作为 dottrace 的忠实粉丝我还是能够理解他的心情的,所以这篇我用最新的 2025.01 版 dottrace 来演示一下 ...