一、先安装必需 NuGet 包 # API版本控制 Install-Package Microsoft.AspNetCore.Mvc.Versioning Install-Package Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer # JWT In ...
一、.NET Web API 是什么 ASP.NET Web API 是微软用于构建 HTTP 服务 的框架,专门用来开发: 前后端分离接口 移动端 API 微服务接口 它基于 Controller + Action 模式,返回 JSON/XML 数据,不返回页面。 二、路由(Routing) 路由 ...
一、请求处理管道(Pipeline) 1. 是什么? ASP.NET Core 处理 HTTP 请求的一条流水线。 请求进来 → 依次经过多个中间件 → 响应返回。 2. 核心特点 单向进入,双向返回 请求:从上到下执行中间件 响应:从下到上原路返回 顺序至关重要 先注册的中间件先执行 可短 - c ...
一、内存基础:栈 vs 堆 C# 把内存分成两块核心区域,分配规则完全不同,这是理解 GC 的前提。 1. 栈内存 (Stack) 存放内容:值类型(int、bool、struct)、引用类型变量的引用地址 特点: 自动分配、自动释放(方法执行完立刻释放) 速度极快,无需 GC 管理 大小固定,空间 ...
一、核心 Task:代表一个尚未完成的操作(可以是异步、也可以是同步) async/await:语法糖,让异步代码写得像同步 本质:await 时挂起方法,释放线程;操作完成后恢复执行 二、Task 到底是什么? 1. Task 不是线程 很多人误区: “启动一个 Task 就开一个线程。” 错。 ...
本文将告诉大家如何基于 WPF 框架、Windows.Graphics 截图能力和本地部署的千问多模态大模型,实现一款完全离线的屏幕使用记录工具,自动定时截图并解读当前屏幕内容,方便自己回溯一天的工作内容,全程无需联网,完全保障隐私安全。 ...
一、委托(Delegate):C# 的「函数指针」,方法的容器 1. 核心定义 委托是存储方法引用的类型,可以把方法当作参数传递、赋值、调用,实现解耦 + 回调。 2. 基础语法 // 1. 定义委托(匹配方法的返回值+参数) public delegate int CalcDelegate(int ...
在日常开发中,编码乱码是一个高频且容易让人困惑的问题,尤其是涉及 UTF-8、UTF-8-BOM 与 GB2312 这几种编码格式时,很容易出现“看似不合理”的现象。最近我就遇到了一个典型场景:脚本文件最初用 UTF-8 编码,程序中指定 GB2312 读取时显示乱码;但将脚本改为 UTF-8-BO ...
一、C# 类型体系总览 C# 所有类型最终都属于两大分类: 值类型(Value Type) 引用类型(Reference Type) 所有类型都继承自 object(System.Object)。 二、值类型 vs 引用类型(核心区别) 1. 定义 值类型:数据直接存在栈上,变量本身就是数据。 引用 ...
在日常办公或系统开发中,Word 文档里的表格数据常常需要被提取出来,用于数据导入、统计分析或报表生成。然而,手动复制粘贴效率低下,而借助 Office COM 组件又容易遇到版本兼容、部署繁琐等问题。本文将展示如何使用 C# 搭配 Free Spire.Doc 库,无需安装 Microsoft W ...
03. Task API 完全指南:方法与属性的实战应用 本章 GitHub 仓库:csharp-concurrency-cookbook ⭐ 欢迎 Star 和 Fork!所有代码示例都可以在仓库中找到并运行。 本章导读 本文目标:系统性掌握 Task 类的核心 API,为后续深入学习 ...
前言 Union 类型(联合类型)一直是 C# 社区呼声最高的特性之一。从最初的 discriminated unions 提案到今天,这个特性经历了多年的设计和讨论,终于在 C# 15 中正式落地。 Union 类型允许我们将一个值限定为一组封闭类型中的某一种,并且在针对 Union 值的 swi ...
【结对编程作业】408 基础知识在线考试系统设计与实现 结对信息: 编码者:2452925 审核者:2452927 项目: 408基础知识在线考试系统 开发环境:idea 前端: HTML + CSS + JavaScript(前端本地存储实现) 后端: java 一、项目概述 本项目为408 计算 ...
前面介绍了几篇关于多租户下的设计思路,要把多租户下的系统设计落实到实处,在实际开发中进行完善,才能在具体项目上精益求精,否则系统设计终究为空中楼阁,很难在细节上完善到位。
本篇随笔在进行多租户的系统设计完成并落实到开发后,针对某些场景进行了一些分析介绍,例如对于多租户/账套下的菜单和功能点的设计。 ...
PDF 书签(大纲)是文档导航的核心要素,尤其对于长文档或技术手册,提取书签信息可用于生成目录、索引或进行文档结构分析。本文将介绍如何使用 Free Spire.PDF for .NET 库,通过 C# 代码完整读取 PDF 文件中的所有书签(包括多级嵌套书签),并将标题、显示样式等信息导出到文本文 ...
02-并发的底层:Thread、ThreadPool 与 Task 的关系 本章 GitHub 仓库:csharp-concurrency-cookbook ⭐ 欢迎 Star 和 Fork!所有代码示例都可以在仓库中找到并运行。 写在前面的话 各位好! 先给大家打个预防针:这篇博客的内容 ...
在 WinForms 的设计时库(以 System.Design、System.Drawing.Design 和 System.Windows.Forms.Design 为主)中,微软官方提供了 约 40~50 个 内置的公共系统级别编辑器(继承自 UITypeEditor)。 由于这些编辑器内置在 ...
在当今云原生与微服务架构主导的时代,如何设计高可用、可扩展且易于维护的分布式系统是每个架构师面临的挑战。微软开源的 Microsoft Orleans 框架以其独特的“虚拟Actor模型”(Virtual Actor Model)提供了构建分布式应用的简化抽象。本文将基于三个具体的 Orleans ...
在实际开发中,程序的核心是处理数据,它将收集到的数据进行加工处理等计算,再将结果呈现到软件页面上。所以系统不仅向用户展示数据,还会从用户收集数据,以实现双向交互(接收-处理-反馈)的闭环。程序与用户的交互,离不开事件的帮助,事件就像是程序与用户之间的桥梁,实现双方的完美对接。今天我们以一些简单的小例 ...
01. 并发编程全景图:为什么你的代码又慢又卡? 从一个真实的故事开始: 你刚写完一个 ASP.NET Core API,本地测试飞快。部署上线后,10 个并发用户就能把服务器 CPU 打满,响应时间从 100ms 飙到 5 秒。你懵了:代码没问题啊,为什么性能这么差? 问题的根源,极大概率就藏在并 ...