首页
C&C++
C#语言
Java
Python
人工智能
Web前端
数据库
面试笔记
其它
软件推荐
搜索
在 ASP.NET Core 8 中配置自定义异常处理程序
若要增强 ASP.NET Core 应用程序的复原能力和用户体验,实现自定义异常处理至关重要。本文将指导你配置自定义的“IExceptionHandler”实现,从而实现更结构化、信息更丰富的错误处理方法。先决条件若要将“IExceptionHandler”实现添加到 ASP.NET Core 请求管道,需要:...
6-8 9:0
652
C#中的异步、多线程和并行编程
本文将介绍 .NET 中异步编程的基础知识,包括 和 关键字的使用、任务的作用以及它们如何与线程池交互。我们将探讨演示异步方法、处理异步代码中的异常以及通过并行编程提高性能的实际示例。此外,我们还将讨论编写高效异步代码的最佳实践以及要避免的常见陷阱。在本文结...
6-8 8:54
423
.NET 8 中的请求超时中间件
在本文中,我们将学习如何使用 Microsoft.AspNetCore.Http.Timeouts 命名空间在 .NET 8 中请求超时中间件工作。此命名空间提供了应用每个请求的超时的灵活性。当达到超时限制时,HttpContext.RequestAborted 中 CancellationToken 的 IsCancellationRequested 属性设置...
6-5 17:52
464
C# 中的弱事件 — 如何避免令人讨厌的内存泄漏
在 C# 中,事件和事件处理程序历来是对象之间通信的核心。在用户界面基于 WinForms 和 WPF 构建的应用程序中尤其如此。但是,误用事件会出现一个常见问题——内存泄漏!当事件订阅者未正确取消订阅时,就会发生这些泄漏,从而导致保留引用,从而无法释放内存。在 C# 中...
6-5 17:33
2270
在 .NET8 中通过 RabbitMQ实现消息队列功能
RabbitMQ 是一个功能强大且广泛使用的开源消息代理,可促进分布式系统之间的通信。它实现了高级消息队列协议 (AMQP),使应用程序能够通过队列发送和接收消息,确保可靠和高效的数据传输。RabbitMQ 支持各种消息传递模式,例如发布/订阅、请求/回复和点对点,使其适用...
6-5 17:19
2864
.NET 中的内存管理和垃圾回收
内存管理和垃圾回收是 .NET 开发的基本方面,对于构建高效且可伸缩的软件应用程序非常重要。在这篇文章中,我们将讨论堆栈和堆内存,探索内存分配机制,并了解 .NET 中的垃圾回收。了解堆栈和堆内存堆栈内存堆栈是用于执行程序代码和存储方法调用帧、局部变量和函数参数...
6-5 17:14
416
.NET core中的筛选器
筛选器是每个 .NET API 的组成部分。在这篇文章中,我旨在深入研究 .NET Core 中可访问的各种类型的筛选器。向 ASP.NET API 发起请求时,您的请求在到达目标控制器之前会经过一系列中间件和过滤器。ASP.NET core MVC 和最小 API近年来,从 ASP.NET MVC 到最小 API 的过...
6-5 16:48
491
深入了解 .NET 8 应用程序的 FluentValidation验证功能
本文将深入探讨如何使用 FluentValidation 在 .NET 应用程序中实现验证。传统上,.NET 应用程序过去常常使用数据批注进行验证,但这种方法曾经存在一些限制,例如模型或 dto 类看起来臃肿、不可扩展、无法控制消息和行为以及测试不灵活。这就是像 FluentValidation 这样...
6-5 16:24
1064
ASP.NET Core 中的 URL 重写简介
URL 重写是 Web 开发中用于修改或操作 Web 请求 URL 的强大技术。它允许开发人员创建更用户友好和搜索引擎优化的 URL。在本文中,我们将探讨 ASP.NET Core 上下文中的 URL 重写,这是一个跨平台的高性能框架,用于构建现代、基于云的和连接互联网的应用程序。为什么要重...
6-5 16:18
387
C#/.Net 中的多线程介绍和最佳实践
I/ 引言计算机中的线程 CPU调度程序和时间切片进程和线程并发和并行性异步与多线程在 C 中使用多线程的好处#II 线程 C 语言#线程生命周期创建、启动和暂停线程加入中止中断线程取消:停止线程的更好方法III/ 线程问题死锁和争用条件使用 Join 和 LocksAutoResetEvent线...
6-5 10:55
454
<<
<
…
60
61
62
63
64
65
66
67
68
69
…
>
>>
阅读排行
深入WPF数据绑定:Converter...
4727
C#异步定时器:精准定期执行...
4733
WPF应用中融入ASP.NET Core...
3995
在C# .NET 8中使用MediatR实...
3847
精准数字处理:C#中四舍五入...
3746
.NET Core 中集成Dapper高级...
3369
延迟等待的艺术:C#中Task.D...
3367
串口通信利器:RJCP.DLL.Ser...
3423
.NET 性能分析:.NET 8 中的...
3199
轻松上传:C#中HTTP POST mu...
3416
WPF中轻松生成动态图表:实...
3238
C# 中的并发性:使用 Blocki...
3050
C#中轻松实现二维码和条形码...
3021
C#屏幕截图:轻松捕获活动窗...
3101
深入了解SOAPCore:在.NET 6...
2998
在 .NET8 中通过 RabbitMQ实...
2864
MediatR让进程内通信如此简...
4022
C#串口通讯实战:基础功能及...
2867
ASP.NET 后端开发:全面的路...
2715
WPF中轻松操控GIF动画:WpfA...
2799
解决WPF界面卡死等待问题:...
3866
ASP .NET Core 8+ 中的全局...
2632
.net中OpenCVSharp+Zxing读...
2741
Microsoft.Extensions.Loggi...
2631
实现WPF多语言支持:简单灵...
2672
.NET —ToList 和 ToArray ...
2537
解密C#中允许HttpClient使用...
2544
C#中Task.Run怎么用?能解决...
2647
C#文件编码检测:轻松解析文...
2516
WPF神器揭秘:一键截图,轻...
2490
.NET 9中ToList 和 ToArray ...
2474
还在到处加异常日志记录?试...
2596
.NET 中的 UUID 和 ULID:最...
2451
掌握System.Text.Json中的多...
2571
轻松实现.NET应用自动更新:...
2558
打造真实感十足的速度表盘:...
2553
在 ASP.NET Core Web API 中...
2425
掌握ImageSharp:图像处理的...
2539
深入理解WPF中的Dispatcher...
2539
使用OpenXML在.NET 6中导出E...
2515
ASP.NET Core .NET 8 中间件...
2345
C# 中的弱事件 — 如何避免...
2270
C# .NET 8中的自动映射器Aut...
2262
ZLogger v2 架构:利用 .NET...
2225
解密C# Socket通信:克服粘...
2315
WPF魔法:轻松实现依赖注入...
3415
WPF开发新境界:MVVM设计模...
2271
FluentFTP实战:轻松操控FTP...
2246
WPF大展示专业指南:轻松实...
2303
C# Socket通信:灵活传输DTO...
2089