excel npoi xlsx net

记一次 .NET 某安全生产信息系统 CPU爆高分析

一:背景 1.讲故事 今天是🐏的第四天,头终于不巨疼了,写文章已经没什么问题,赶紧爬起来写。 这个月初有位朋友找到我,说他的程序出现了CPU爆高,让我帮忙看下怎么回事,简单分析了下有两点比较有意思。 这是一个安全生产的信息管理平台,第一次听说,我的格局小了。 这是一个经典的 CPU 爆高问题,过往 ......
高分 安全生产 系统 信息 NET

.Net执行SQL/存储过程之易用轻量工具

支持.Net/.Net Core/.Net Framework,可以部署在Docker, Windows, Linux, Mac。 由于该工具近来被广东省数个公司2B项目采用,且表现稳定,得到良好验证,故在此推荐出来。 此工具在IDataAccess接口中提供。 IDataAccess所在的命名空间 ......
轻量 过程 工具 Net SQL

学习ASP.NET Core Blazor编程系列十六——排序

在本篇文章我们来学习如何进行对列表按标题进行排序。 通过前面的教程学习,你可以实现一个简单的书籍管理系统。 在本教程将向图书列表页面中添加排序功能。 ......
Blazor Core ASP NET

自己动手基于 Redis 实现一个 .NET 的分布式锁类库

分布式锁的核心其实就是采用一个集中式的服务,然后多个应用节点进行抢占式锁定来进行实现,今天介绍如何采用Redis作为基础服务,实现一个分布式锁的类库,本方案不考虑 Redis 集群多节点问题,如果引入集群多节点问题,会导致解决成本大幅上升,因为 Redis 单节点就可以很容易的处理10万并发量了,这 ......
分布式 Redis NET

学习ASP.NET Core Blazor编程系列十七——文件上传(上)

从本篇文章开始我们来讲在图书租赁系统中如何使用内置的文件上传组件进行文件上传功能的开发。本文的示例适合上传小型文件。本篇文章演示如何通过Blazor的内置组件InputFile将文件上传至服务器。 ......
文件 Blazor Core ASP NET

.NET周报【12月第2期 2022-12-15】

国内文章 九哥聊Kestrel网络编程第一章:开发一个Redis服务器 https://mp.weixin.qq.com/s/HJYnBE-7wbvkAYHxQaq3eQ 我和拥有多个.NET 千星开源项目作者九哥一拍即合,为了让更多的人了解 Kestrel,计划写一系列的文章来介绍它;本文是九哥发 ......
周报 2022 NET 12 15

.NET 云原生架构师训练营(基于 OP Storming 和 Actor 的大型分布式架构一)--学习笔记

目录 为什么我们用 Orleans Dapr VS Orleans Actor 模型 Orleans 的核心概念 为什么我们用 Orleans 分布式系统开发、测试的难度(服务发现、通信) 运维的复杂度(伸缩性与可靠性的保障) actor 拥有全局唯一身份 自动伸缩功能 Dapr VS Orlean ......
架构 分布式 Storming 笔记 Actor

SpringBoot向Excel模板中写入数据并下载 (无需获取file对象及模板绝对路径)

之前用获取模板路径的方式测试没问题打包后就有问题了 莫名出现一个! 找了很多教程尝试无果 最终使用下面这个方式 无需获取file对象以及模板路径的方式进行写入下载 (那个设置浏览器编码没有测试不知道能不能用!!!) public void export(SampleFilterAO filter, ......
模板 SpringBoot 路径 对象 数据

.NET周报【12月第1期 2022-12-08】

国内文章 CAP 7.0 版本发布通告 - 支持延迟消息,性能炸了? https://www.cnblogs.com/savorboard/p/cap-7-0.html) 今天,我们很高兴宣布 CAP 发布 7.0 版本正式版,我们在这个版本中带来了大批新特性以及对性能的优化和改进。 使用.NET7 ......
周报 2022 NET 12 08

VmWare安装Centos后配置Net网络SSH链接问题看这一遍就够了

由于个人的阿里云Linux云服务器快要到期,之前购买了3年才280元的样子, 目前涨价到1700~2600元,实在不划算,想省些钱给娃买玩具更香,决定重新在个人电脑上使用虚拟机, 方便测试使用Linux和Docker等。 1:首先安装VmWare(网络上教材比较多,这里不说明了) 2:启动时在安装对 ......
链接 VmWare Centos 问题 网络

WinUI(WASDK)使用MediaPipe检查手部关键点并通过ML.NET进行手势分类

前言 之所以会搞这个手势识别分类,其实是为了满足之前群友提的需求,就是针对稚晖君的ElectronBot机器人的上位机软件的功能丰富,因为本来擅长的技术栈都是.NET,也刚好试试全能的.NET是不是真的全能就想着做下试试了,MediaPipe作为谷歌开源的机器视觉库,功能很丰富了,而且也支持c++, ......
关键点 手部 手势 MediaPipe 关键

.NET MAUI 安卓应用开发初体验

一、.NET MAUI开发环境搭建&安卓SDK和安卓模拟器安装提示网络连接失败问题解决 引言 本节目标是帮助第一次搭建.NET MAUI开发环境,在下载安卓SDK和安卓模拟器过程中一直提示网络问题解决思路。 现象一:Visiual Studio 2022中添加Android设备管理时,提示系统映像下 ......
应用开发 MAUI NET

推荐一款采用 .NET 编写的 反编译到源码工具 Reko

今天给大家介绍的是一款名叫Reko的开源反编译工具,该工具采用C#开发,广大研究人员可利用Reko来对机器码进行反编译处理。我们知道.NET 7 有了NativeAOT 的支持,采用NativeAOT 编译的.NET程序 无法通过ILSpy 之类的传统工具得到源码,这款Reko 可能是唯一一款可以把 ......
源码 工具 Reko NET

推荐一款 .NET 编写的 嵌入式平台的开源仿真器--Renode

Renode 是一个开发框架,通过让你模拟物理硬件系统来加速物联网和嵌入式系统开发。 Renode 可以模拟 Cortex-M、RISC-V 等微控制器,不仅可以模拟 CPU指令,还可以模拟外设,甚至可以模拟板载的外设。 更强的是,它可以让你在你的 PC 上运行、调试和测试未经修改的嵌入式软件-从裸 ......
仿真器 嵌入式 Renode 平台 NET

【ASP.NET Core】MVC控制器的各种自定义:特性化的路由规则

MVC的路由规则配置方式比较多,咱们用得最多的是两种: A、全局规则。就是我们熟悉的”{controller}/{action}“。 app.MapControllerRoute( name: "bug", pattern: "{controller}/{action}" ); app.MapCon ......
路由 控制器 特性 规则 Core

用excel表画一个乐高

一、背景:在商场看到一个超级玛丽的乐高图感觉使用excel的颜色填充也能画出来,并且可以借助python来实现 二、excel表如何绘制正方形:1.统一设置行高与列宽excel表单元格的行与列的默认计量单位是不一样的,设置如何一样的数值并构成正方形:行的默认单位是:磅; 而一个列宽单位等于“常规”样 ......
excel

.net如何优雅的使用EFCore

EFCore是微软官方的一款ORM框架,主要是用于实体和数据库对象之间的操作。功能非常强大,在老版本的时候叫做EF,后来.net core问世,EFCore也随之问世。 本文我们将用一个控制台项目Host一个web服务,并且使用本地Mysql作为数据库,使用EFCore的Code First模式进行 ......
EFCore net

.net core/5/6/7中WPF如何优雅的开始开发

WPF是微软的.net平台中的一个桌面客户端应用程序框架,经常用于企业开发windows桌面客户端,广泛应用于中小企业快速开发一款工具,本人也是比较喜欢利用WPF开发一些小工具。 知名案例 1.虎牙直播客户端 2.西门子医疗上位机 其中西门子医疗的上位机程序称得上使用WPF技术的极其优秀的项目。(: ......
core net WPF

谁说.NET没有GC调优?只改一行代码就让程序不再占用内存

经常看到有群友调侃“为什么搞Java的总在学习JVM调优?那是因为Java烂!我们.NET就不需要搞这些!”真的是这样吗?今天我就用一个案例来分析一下。 昨天,一位学生问了我一个问题:他建了一个默认的ASP.NET Core Web API的项目,也就是那个WeatherForecast的默认项目模 ......
一行 内存 代码 程序 NET

.net6&7中如何优雅且高性能的使用Json序列化

.net中的SourceGenerator让开发者编可以写分析器,在项目代码编译时,分析器分析项目既有的静态代码,允许添加源代码到GeneratorExecutionContext中,一同与既有的代码参与编译。这种技术其实是把一些运行时才能去获取程序集相关资源的方式提前到编译前了。 .net6开始, ......
序列 高性能 net6 Json net

我开发的开源项目,让.NET7中的EFCore更轻松地使用强类型Id

在领域驱动设计(DDD)中,有一个非常重要的概念:“强类型Id”。使用强类型Id来做标识属性的类型会比用int、Guid等通用类型能带来更多的好处。比如有一个根据根据Id删除用户的方法的签名如下: void RemoveById(long id); 我们从方法的参数看不出来id代表什么含义,因此如果 ......
类型 项目 EFCore NET7 NET

【开源】全网首个支持国密算法的微信支付 C#/.NET SDK(附 SM2/SM3/SM4 跨语言联调的踩坑要点)

前言 前文回顾:《【开源】这可能是封装微信 API 最全的 C#/.NET SDK 了》 自 2021 年 8 月公开发布后,本项目已开源一年有余。在此期间,受到了很多开发者的关注和使用,也接收了很多热心开源的开发者给予的帮助,无论是上报了缺陷或建议,还是发起了 PR,亦或是在社群内回答他人的提问, ......
全网 算法 要点 SM 语言

记一次 .NET 某工控软件 内存泄露分析

一:背景 1.讲故事 上个月 .NET调试训练营 里的一位老朋友给我发了一个 8G 的dump文件,说他的程序内存泄露了,一时也没找出来是哪里的问题,让我帮忙看下到底是怎么回事,毕竟有了一些调试功底也没分析出来,说明还是有一点复杂的,现实世界中的dump远比课上说的复杂的多。 还是那句话,找我分析是 ......
内存 软件 NET

.NET 7 的 AOT 到底能不能扛反编译?

一:背景 1.讲故事 在B站,公众号上发了一篇 AOT 的文章后,没想到反响还是挺大的,都称赞这个东西能抗反编译,可以让破解难度极大提高,可能有很多朋友对逆向不了解,以为用 ILSpy,Reflector,DnSpy 这些工具打不开就觉得很安全,其实不然,在 OllyDbg,IDA,WinDBG 这 ......
NET AOT

记一次 .NET 某电子厂OA系统 非托管内存泄露分析

一:背景 1.讲故事 这周有个朋友找到我,说他的程序出现了内存缓慢增长,没有回头的趋势,让我帮忙看下到底怎么回事,据朋友说这个问题已经困扰他快一周了,还是没能找到最终的问题,看样子这个问题比较刁钻,不管怎么说,先祭出 WinDbg。 二:WinDbg 分析 1. 托管还是非托管泄露 一直关注这个系列 ......
电子厂 内存 系统 电子 NET

NET 6 实现滑动验证码(三)、接口

题外话,有网友说,这玩意根本很容易破解,确实是这样。但验证码这东西,就跟锁子很类似,防君子不防小人。验证码的发明其实是社会文明的退步。因为它阻碍了真正的使用者,却无法阻挡别有用心的人。但又有什么办法呢? 上一篇文章添加了一些基本类,本篇内容主要目的是创建一些接口类 上一节内容:NET 6 实现滑动验 ......
接口 NET

.NET 6 实现滑动验证码(二)、基本数据

上一节,介绍了滑动验证码的基本情况,也创建了一个.NET 6的工程。本节内容是创建一些基础类。 (创建基础类) 本节创建的类全部在工程的Model目录下: CaptchaData.cs CaptchaData.cs:验证码的数据类实体 namespace SlideCaptcha.Model { p ......
数据 NET

.NET 6使用ImageSharp给图片添加水印

​ .NET 6 中,使用System.Drawing操作图片,生成解决方案或打包的时候,会有警告,意思是System.Drawing仅在 'windows' 上受支持。微软官方的解释是: System.Drawing.Common NuGet 包现在被归为 Windows 特定的库。 在为非 Wi ......
水印 ImageSharp 图片 NET

学习ASP.NET Core Blazor编程系列十五——查询

在这一篇教程中我们学习如何增加查询功能,我们将在书籍列表页面中添加搜索功能,通过按“书籍名称”或“作者”来搜索书籍。 在以往经典的Web应用程序中,我们经常使用元素创建表单,在表单中添加 元素, 有一个 type 属性,用于指定输入的类型及其显示方式(作为数字、文本框、单选按钮、复选... ......
Blazor Core ASP NET

学习ASP.NET Core Blazor编程系列十三——路由(完)

除了前面三篇文章中介绍的路由方式,可以用来进行页面跳转之外,今天介绍最后一种方式,如何在代码中进行页面跳转。如果是JavaScript我们会用window.location来切换页面,Blazor为我们提供了相应的封装:NavigationManager。使用NavigationManager可以通... ......
路由 Blazor Core ASP NET