状态码
-
C#怎么发起HTTP请求 C# HttpClient使用方法详解
推荐使用HttpClient发起HTTP请求,它线程安全、支持异步且可复用;应全局复用实例避免端口耗尽;GET用GetStringAsync,POST用StringContent发送JSON;需设置请求头、超时并手动处理响应状态与异常。 在C#中发起HTTP请求,推荐且现代的方式是使用 HttpCl…
-
ASP.NET Core怎么创建API ASP.NET Core Web API入门方法
ASP.NET Core 创建 Web API 推荐新手从 Minimal API 入手,用 dotnet new web -n MyApi 创建轻量项目,几行代码即可定义路由与处理逻辑;中大型项目则宜采用 Controller 模式,通过特性标注实现规范分层与功能扩展。 ASP.NET Core …
-
ASP.NET Core怎么实现全局异常处理 ASP.NET Core全局异常中间件
ASP.NET Core 全局异常处理最常用方式是使用 UseExceptionHandler 和 UseDeveloperExceptionPage 中间件;前者用于所有环境并支持自定义错误响应,后者仅开发环境启用以显示详细错误页;需按顺序注册,结合日志记录与类型判断实现差异化处理。 ASP.NE…
-
C#如何实现JWT(JSON Web Token)认证?ASP.NET Core Web API安全入门
JWT是一种无状态的开放标准,用于安全传输用户信息,由Header、Payload、Signature三部分组成;在ASP.NET Core中,通过添加JwtBearer认证服务、配置TokenValidationParameters参数,并在登录接口生成令牌,实现API安全验证;使用[Author…
-
C# 枚举(enum)的最佳实践 – 如何优雅地处理枚举类型
C#枚举最佳实践包括:明确适用场景、用[Flags]处理位域、避免magic number、添加DescriptionAttribute、考虑智能枚举类、统一JSON序列化为字符串、显式定义0值成员。 在 C# 开发中,枚举(enum)是一种非常实用的值类型,用于定义一组命名常量,提升代码可读性和维…
-
C# 单元测试中的Moq框架入门 – 如何模拟依赖项
Moq 是一个轻量开源的 .NET 模拟框架,用于创建接口或抽象类的假实现以隔离依赖、提升测试稳定性与速度;通过 Mock 类 Setup 行为、Verify 调用,配合依赖注入完成单元测试。 什么是Moq,为什么在单元测试中要用它 Moq 是一个轻量、开源的 .NET 模拟(Mocking)框架,…
-
C# Record Struct是什么 – C# 10.0带来的高性能数据结构
Record Struct适用于需高性能、值相等的小型不可变数据模型,如坐标、颜色等;它结合struct的栈分配与record的语义特性(值相等、ToString、解构、with表达式),避免GC开销,优于class record和普通struct,使用时应避免装箱、混用可变字段。 Record S…
-
.NET怎么使用 Polly 实现服务熔断和重试_Polly熔断重试配置教程
在.NET项目中通过Polly实现服务熔断与重试可显著提升系统稳定性,首先安装Polly及Http扩展包,接着配置重试策略应对临时性故障,采用指数退避方式最多重试3次,再设置熔断策略在连续3次失败后开启10秒熔断期,防止雪崩效应,推荐将重试与熔断策略组合为PolicyWrap,外层熔断内层重试,确保…
-
C#的gRPC和Web API哪个更好?C#微服务通信技术选型指南
选gRPC适合高性能、强类型内部通信,基于HTTP/2和Protobuf提升效率;选Web API适合对外暴露、浏览器交互,兼容性强;实际架构中常混合使用,对外用Web API、对内用gRPC,根据业务需求平衡性能与通用性。 选gRPC还是Web API,不能一概而论。关键看你的具体场景:要极致性能…
-
.NET中的中间件(Middleware)是什么?如何在ASP.NET Core中自定义一个?
中间件是ASP.NET Core中处理HTTP请求和响应的组件,按注册顺序组成管道,可执行前置逻辑、短路请求或后置处理。推荐通过类定义中间件,包含构造函数和InvokeAsync方法,并在Program.cs中用UseMiddleware注册;也可使用app.Use内联定义。执行顺序由注册顺序决定,…