刷新
MonkeyCode写消息队列:从零实现高可用异步架构

博主头像 同步调用是微服务耦合的根源。消息队列解耦了服务,也救了你的响应时间。用MonkeyCode,从选型到实现一把梭。 为什么需要消息队列? 一个典型的电商下单流程,同步调用长这样: # 同步调用:创建订单要等所有下游返回 @app.post("/orders") async def create_ord ...

四、新闻后台实战:用Admin Blazor管理文章和专栏

博主头像 前面三篇我们讲了: 第一篇:3分钟搭一个Blazor后台 第二篇:项目目录结构详解 第三篇:几十行代码搞定CRUD 今天来点实战,用一个真实的新闻管理模块做案例,把专栏管理和文章管理完整走一遍。看看关联表、枚举、富文本编辑器这些实际项目中一定会遇到的需求,在EasyAdminBlazor里怎么处理。 ...

ADO.NET入门介绍(6)

DbCommand介绍 DbCommand对象用于向数据存储区发送一条结构化查询语言(SQL)命令。DbCommand对象 不仅可以执行查询,插入,更新,删除的数据操作(DML)指令,还可以执行数据定义(DDL)指令 创建数据库,数据表,更改模式信息等。 例如查询数据库中表基础框架 DbComman ...

三、几十行代码搞定CRUD:建好实体和菜单,页面自动生成

博主头像 前面两篇我们讲了怎么3分钟搭一个Blazor后台,以及项目的目录结构。今天讲点更爽的——怎么在写少量代码或不写代码的情况下,把一个新模块的后台页面搞出来。 一、传统方式:写一个模块要多久? 假设你要加一个「产品管理」模块,传统开发流程: 建数据库表(写SQL) 写实体类(映射字段) 写Reposit ...

[翻译] 为什么我要用 C# 构建数据库引擎

博主头像 当我告诉别人我正在用 C# 构建一个 **ACID 数据库引擎**时,第一反应总是如出一辙:“那 GC(垃圾回收)停顿怎么办?” 这是一个合情合理的问题。几乎没有人会在 .NET 中构建高性能数据库引擎。人们普遍认为,这类软件必须使用 C、C++ 或 Rust 编写——托管语言基本上被排除在“微秒... ...

ADO.NET入门介绍(5)

ADO.NET连接类概述ADO.NET库包含可用于数据存储区和客户应用程序之间传输数据的类。 连接类 负责在客户端程序的非连接数据类与数据存储区之间传输数据的类成为连接类。ado.net提供了下面几种类。 OLEDB 用于access,excel,文本等ODBC 用于多种数据源提供的多种数据访问功能 ...

无需 Office,用 C# 轻松增删 PowerPoint 幻灯片

博主头像 在批量生成报告、动态拼接演示文稿或自动化处理 PPT 模板时,通过代码动态增删幻灯片几乎是绕不开的需求。本文将以免费库 Free Spire.Presentation for .NET 为例,提供一个可直接落地的技术方案。 技术方案定位:无 Microsoft Office 依赖,纯托管代码实现,可 ...

上位机软件开发框架怎么选?WinForm_WPF_Avalonia_QT

博主头像 工业上位机、MES客户端、设备调试,刚入行选什么框架?老项目维护用不用换?新项目到底上WinForm、WPF、Avalonia还是QT? 今天把目前工业现场最常用的4个上位机框架:WinForm、WPF、Avalonia、QT,从底层特点、优缺点、适合人群、适配项目,总体梳理下。文章中难免有所欠缺,... ...

基于.NET的Windows窗体编程之WinForms打印

博主头像 在当今互联网时代,大家都提倡无纸化绿色办公,如扫码,在线,小程序等,既提高了效率,又节约纸张,绿色环保,但在某些特定的场景与人群(如超市收银),打印票据或收据是必不可少。今天我们以一些简单的小例子,简述基于.NET的Windows窗体编程中打印的常见用法,仅供学习分享使用,如有不足之处,还请指正。 ...

记一次 .NET 某集群管理软件 内存暴涨分析

博主头像 一:背景 1. 讲故事 前些天有位朋友微信找到我,说它的程序出现了内存暴涨,自己也没分析出啥,让我看下到底怎么回事,然后让这位朋友抓一个dump,拿它占一卦就行了。 二:内存暴涨分析 1. 为什么会暴涨 到底是哪里的暴涨,折半查找一下就知道了,分别通过 !address -summary 和 !ee ...

<123···50>