net
-
C#中的反射(Reflection)机制 – 如何在运行时动态获取类型信息
反射是C#在运行时动态查看、检查和操作类型及成员的能力,依赖System.Type等类实现,关键在于“运行时”和“动态”,支持加载程序集、创建实例、调用方法;常用Type获取方式包括typeof、GetType()、Type.GetType()和Assembly.GetType();可通过GetMe…
-
ASP.NET Core怎么实现全局异常处理 ASP.NET Core全局异常中间件
ASP.NET Core 全局异常处理最常用方式是使用 UseExceptionHandler 和 UseDeveloperExceptionPage 中间件;前者用于所有环境并支持自定义错误响应,后者仅开发环境启用以显示详细错误页;需按顺序注册,结合日志记录与类型判断实现差异化处理。 ASP.NE…
-
C#如何使用async和await C#异步编程入门指南
async/await是C#编写异步代码最简洁推荐的方式,使异步操作如同步般直观且不阻塞主线程;需用async修饰方法,await只能用于async方法内,返回类型为void、Task或Task,并注意避免死锁与合理异常处理。 在C#中,async 和 await 是编写异步代码最简洁、最推荐的方式…
-
Blazor appsettings.json 环境配置方法
Blazor Server 依赖 ASPNETCORE_ENVIRONMENT 环境变量自动加载对应 appsettings.{Environment}.json 并覆盖基础配置;Blazor WebAssembly 则在构建时由 MSBuild 的 EnvironmentName 属性决定打包哪个…
-
Dapper查询时如何指定事务 Dapper在事务中执行Query
Dapper 本身不管理事务,但可通过显式传入 IDbTransaction 参数在 ADO.NET 事务中执行查询与更新,需确保连接已打开、事务由该连接创建,并由开发者手动调用 Commit() 或 Rollback()。 Dapper 本身不管理事务,但可以配合 ADO.NET 的 SqlTra…
-
C#的JSON序列化是什么?如何使用System.Text.Json进行转换?
System.Text.Json是.NET Core 3.0+内置的高性能JSON库,用于C#对象与JSON字符串的相互转换。使用JsonSerializer.Serialize和Deserialize方法实现序列化与反序列化,支持通过JsonSerializerOptions配置命名策略、缩进、大…
-
C#怎么使用AutoMapper C#对象映射库AutoMapper教程
AutoMapper 是 C# 中用于 DTO 与实体间映射的主流库,通过 Profile 配置和 IMapper 接口实现类型安全、可维护的自动映射,推荐使用依赖注入注册并启用 AssertConfigurationIsValid 验证。 AutoMapper 是 C# 中最常用的对象映射库,用来…
-
C#怎么打包成单个exe文件 .NET发布单文件应用方法
.NET 5+ 支持原生单文件发布,需目标框架为 net5.0 及以上、使用对应 SDK,并通过 dotnet publish -r win-x64 –self-contained true /p:PublishSingleFile=true 等参数生成独立 .exe。 在 .NET 5…
-
C#如何实现AOP编程 Castle DynamicProxy使用教程
C#中实现AOP最成熟轻量的方案是Castle DynamicProxy,它通过运行时代理生成实现方法拦截,支持接口和类代理,需实现IInterceptor接口并调用invocation.Proceed()执行原方法。 在C#中实现AOP(面向切面编程),最成熟、轻量且广泛使用的方案是 Castle…
-
C# 异步流(async streams)的用法 – await foreach循环
C# 8.0+ 引入异步流(IAsyncEnumerable)和 await foreach,支持非阻塞式异步枚举;可配合 CancellationToken 实现取消,需 C# 8.0+ 和兼容 SDK(如 net6.0)。 在 C# 8.0 及更高版本中,引入了异步流(async streams…