首页
C&C++
C#语言
Java
Python
人工智能
Web前端
数据库
面试笔记
其它
软件推荐
搜索
详细介绍C#语言中的装饰器模式
Decorator 设计模式允许软件开发人员在不更改其代码的情况下扩展组件的功能。本文探讨了在现代 .NET 中实现装饰器模式的主要技术,同时遵循单一责任原则 (SRP) 并避免使用样板代码。何时在 C 中使用 Decorator 模式#当您想要向现有组件添加行为但_不能_或_不想_修改源...
6-8 9:14
280
什么是 .NET 中的析构函数、处置和终结?
内存管理被认为是困难的,因为它非常抽象。但是,有了正确的指导和正确的方法,这只是您将牢记在心的另一个概念!今天的问题是:.NET 中的 destructor dispose 和 finalize 和有什么不一样?像往常一样,我将提供 C# 语言的 .NET 面试问题的代码示例。话虽如此,将您的...
6-8 9:12
165
在 ASP.NET Core 8 中配置自定义异常处理程序
若要增强 ASP.NET Core 应用程序的复原能力和用户体验,实现自定义异常处理至关重要。本文将指导你配置自定义的“IExceptionHandler”实现,从而实现更结构化、信息更丰富的错误处理方法。先决条件若要将“IExceptionHandler”实现添加到 ASP.NET Core 请求管道,需要:...
6-8 9:0
460
C#中的异步、多线程和并行编程
本文将介绍 .NET 中异步编程的基础知识,包括 和 关键字的使用、任务的作用以及它们如何与线程池交互。我们将探讨演示异步方法、处理异步代码中的异常以及通过并行编程提高性能的实际示例。此外,我们还将讨论编写高效异步代码的最佳实践以及要避免的常见陷阱。在本文结...
6-8 8:54
256
.NET 8 中的请求超时中间件
在本文中,我们将学习如何使用 Microsoft.AspNetCore.Http.Timeouts 命名空间在 .NET 8 中请求超时中间件工作。此命名空间提供了应用每个请求的超时的灵活性。当达到超时限制时,HttpContext.RequestAborted 中 CancellationToken 的 IsCancellationRequested 属性设置...
6-5 17:52
290
C# 中的弱事件 — 如何避免令人讨厌的内存泄漏
在 C# 中,事件和事件处理程序历来是对象之间通信的核心。在用户界面基于 WinForms 和 WPF 构建的应用程序中尤其如此。但是,误用事件会出现一个常见问题——内存泄漏!当事件订阅者未正确取消订阅时,就会发生这些泄漏,从而导致保留引用,从而无法释放内存。在 C# 中...
6-5 17:33
1064
在 .NET8 中通过 RabbitMQ实现消息队列功能
RabbitMQ 是一个功能强大且广泛使用的开源消息代理,可促进分布式系统之间的通信。它实现了高级消息队列协议 (AMQP),使应用程序能够通过队列发送和接收消息,确保可靠和高效的数据传输。RabbitMQ 支持各种消息传递模式,例如发布/订阅、请求/回复和点对点,使其适用...
6-5 17:19
1448
.NET 中的内存管理和垃圾回收
内存管理和垃圾回收是 .NET 开发的基本方面,对于构建高效且可伸缩的软件应用程序非常重要。在这篇文章中,我们将讨论堆栈和堆内存,探索内存分配机制,并了解 .NET 中的垃圾回收。了解堆栈和堆内存堆栈内存堆栈是用于执行程序代码和存储方法调用帧、局部变量和函数参数...
6-5 17:14
262
.NET core中的筛选器
筛选器是每个 .NET API 的组成部分。在这篇文章中,我旨在深入研究 .NET Core 中可访问的各种类型的筛选器。向 ASP.NET API 发起请求时,您的请求在到达目标控制器之前会经过一系列中间件和过滤器。ASP.NET core MVC 和最小 API近年来,从 ASP.NET MVC 到最小 API 的过...
6-5 16:48
324
深入了解 .NET 8 应用程序的 FluentValidation验证功能
本文将深入探讨如何使用 FluentValidation 在 .NET 应用程序中实现验证。传统上,.NET 应用程序过去常常使用数据批注进行验证,但这种方法曾经存在一些限制,例如模型或 dto 类看起来臃肿、不可扩展、无法控制消息和行为以及测试不灵活。这就是像 FluentValidation 这样...
6-5 16:24
757
<<
<
…
56
57
58
59
60
61
62
63
64
65
…
>
>>
阅读排行
深入WPF数据绑定:Converter...
3257
C#异步定时器:精准定期执行...
3250
WPF应用中融入ASP.NET Core...
2577
在C# .NET 8中使用MediatR实...
2341
.NET Core 中集成Dapper高级...
2004
延迟等待的艺术:C#中Task.D...
1981
.NET 性能分析:.NET 8 中的...
1851
精准数字处理:C#中四舍五入...
2178
WPF中轻松生成动态图表:实...
1945
串口通信利器:RJCP.DLL.Ser...
1902
轻松上传:C#中HTTP POST mu...
1956
C# 中的并发性:使用 Blocki...
1678
C#屏幕截图:轻松捕获活动窗...
1775
C#中轻松实现二维码和条形码...
1638
C#串口通讯实战:基础功能及...
1623
深入了解SOAPCore:在.NET 6...
1601
在 .NET8 中通过 RabbitMQ实...
1448
MediatR让进程内通信如此简...
2584
ASP.NET 后端开发:全面的路...
1333
WPF中轻松操控GIF动画:WpfA...
1454
解决WPF界面卡死等待问题:...
2550
实现WPF多语言支持:简单灵...
1399
.net中OpenCVSharp+Zxing读...
1382
.NET —ToList 和 ToArray ...
1257
Microsoft.Extensions.Loggi...
1282
ASP .NET Core 8+ 中的全局...
1241
C#中Task.Run怎么用?能解决...
1351
还在到处加异常日志记录?试...
1339
打造真实感十足的速度表盘:...
1302
.NET 9中ToList 和 ToArray ...
1175
掌握System.Text.Json中的多...
1285
WPF神器揭秘:一键截图,轻...
1160
解密C#中允许HttpClient使用...
1171
掌握ImageSharp:图像处理的...
1246
深入理解WPF中的Dispatcher...
1233
轻松实现.NET应用自动更新:...
1229
C#文件编码检测:轻松解析文...
1117
使用OpenXML在.NET 6中导出E...
1197
在 ASP.NET Core Web API 中...
1074
ASP.NET Core .NET 8 中间件...
1073
.NET 中的 UUID 和 ULID:最...
1071
C# 中的弱事件 — 如何避免...
1064
解密C# Socket通信:克服粘...
1140
ZLogger v2 架构:利用 .NET...
1011
C# .NET 8中的自动映射器Aut...
1008
WPF魔法:轻松实现依赖注入...
2236
FluentFTP实战:轻松操控FTP...
1098
WPF开发新境界:MVVM设计模...
1074
WPF大展示专业指南:轻松实...
1145
C# Socket通信:灵活传输DTO...
957