microsoft
-
C# 如何使用MediatR库 – 实现CQRS模式中的命令和查询
CQRS将操作分为命令与查询,MediatR通过中介者模式实现解耦,提升系统可维护性与扩展性,适用于复杂业务场景。 在现代C#应用程序开发中,CQRS(命令查询职责分离)模式被广泛用于提升系统可维护性和可扩展性。MediatR 是一个轻量级库,帮助我们在项目中轻松实现这一模式。它通过中介者模式将请求…
-
C#怎么实现单例模式 C#设计模式之单例实现方法
推荐使用Lazy实现单例模式,线程安全且支持延迟初始化;其次可选静态构造函数方式(非延迟);DCL仅用于旧框架兼容。需注意避免滥用、优先考虑DI容器替代。 在C#中实现单例模式,核心是确保一个类只有一个实例,并提供全局访问点。最常用、最推荐的是静态构造函数 + 私有静态只读字段方式(线程安全、简洁、…
-
Blazor怎么进行组件间通信 Blazor组件参数传递方法
Blazor组件通信核心是参数传递、状态管理与事件回调:父子用[Parameter]和EventCallback;祖孙用CascadingParameter;无关系组件用StateContainer;路由通信用NavigationManager。 Blazor 组件间通信核心靠 参数传递 + 状态管…
-
Blazor 怎么集成 Google 登录
Blazor集成Google登录分WebAssembly和Server两类:WASM独立模式前端直连OAuth,需引入认证包、配置ClientId及回调地址;Server模式依赖后端中间件,需注册AddGoogle并启用UseAuthentication/UseAuthorization。 Blaz…
-
Blazor 怎么给 HTTP 请求添加认证头
Blazor中HTTP认证头配置核心是按场景选择方式:WASM推荐用DelegatingHandler动态注入Bearer Token,Server端通常无需前端加头。 在 Blazor 中给 HTTP 请求添加认证头,核心是配置 HttpClient 实例,使其自动携带如 Authorizatio…
-
C#如何实现PDF文件生成 QuestPDF库使用教程
QuestPDF 是 .NET 平台最轻量现代的 PDF 生成库,基于 Fluent API 用 C# 直接描述文档结构,需注册中文字体(如 Noto Sans CJK)以支持中文,安装 via NuGet,.NET 6+ 原生兼容。 用 C# 生成 PDF,QuestPDF 是目前最轻量、现代且易…
-
Blazor 怎么集成 SignalR
Blazor集成SignalR分三步:服务端定义Hub并注册、客户端安装包并建立连接、收发消息;推荐WASM模式以节省服务器资源;需注意路径大小写、CORS配置及开发期错误设置。 Blazor 集成 SignalR 主要分服务端 Hub 定义、客户端连接、消息收发三步,WebAssembly(WAS…
-
C#怎么管理用户机密 .NET Secret Manager使用方法
.NET Secret Manager 是开发阶段管理敏感配置的轻量安全工具,将密钥存于用户目录(如 ~/.microsoft/usersecrets/),不进代码库、不发布到生产环境;需执行 dotnet user-secrets init 初始化并绑定 UserSecretsId,支持 set/…
-
WinForms怎么美化UI界面 WinForms第三方UI库使用教程
WinForms可通过启用视觉样式、引入第三方UI库及局部美化实现现代化UI。需在Main方法开头调用Application.EnableVisualStyles();推荐NuGet安装SunnyUI、MaterialSkin.2或IrisSkins;再统一字体、调整配色、添加背景图;自定义绘制时须…
-
Dapper在Blazor WebAssembly中怎么用 Dapper与Blazor WASM
Dapper不能在Blazor WebAssembly中直接使用,因其依赖的IDbConnection、数据库驱动和底层网络I/O在浏览器沙箱中不可用;正确方式是将Dapper部署在ASP.NET Core后端,前端通过HttpClient调用REST API获取JSON数据。 不能直接在Blazo…