首页
C&C++
C#语言
Java
Python
人工智能
Web前端
数据库
面试笔记
其它
软件推荐
搜索
使用 RabbitMQ 消息队列构建可扩展的 ASP.NET 核心应用程序
构建能够管理不断增加的负载和不断变化的用户期望的 Web 应用程序不仅仅是一个目标,而是当今数字世界的需求。ASP.NET Core 应用必须具有可扩展性,以便在用户群扩大时保持响应能力和性能。RabbitMQ 消息队列是实现可扩展性的一种有效武器。在这篇博客文章中,我们将介...
3-17 15:10
260
在 .NET 7 中使用 Scrutor 自动依赖注入
在特定场景中,手动注册注入到我们的类中所需的每个服务可能会费力且重复。例如,如果我们拥有一个具有多个实现类(如 、 、 等)的接口,则每个类都需要在 .IRepositoryCustomerRepositoryProductRepositoryOrderRepositoryServiceCollectionScrutor是一个利用框架简化...
3-17 14:55
548
C#12 的强大功能:日常编码的 4 种创新方式
.NET 8 将于 11 月推出,Microsoft 推出了 C# 12.0 预览版,让我们大吃一惊。在第 7 次迭代中已经可以体验到以下出色的语言版本。人们的兴奋已经越来越高了——C# 12.0 即将到来!这次会有什么新东西吗?听好了,我可能已经剧透了:是的!如何启用新版本下载您想要的预...
3-17 14:46
181
使用 ASP.NET Core 自定义端点元数据实现细粒度访问控制
终结点元数据是与 ASP.NET Core 应用程序中的每个终结点关联的信息片段。终结点本质上是 Web 应用程序的入口点,例如 MVC 控制器操作或最小 API 中的路由,可以处理 HTTP 请求。端点元数据允许描述这些端点的特征和行为,例如授权策略、CORS(跨域资源共享)限制、筛选...
3-17 14:37
223
探索 .NET 中的自定义属性:扩展元数据并增强反射
介绍自定义属性在 .NET Framework 中起着至关重要的作用,它为扩展元数据和批注代码元素提供了强大的机制。虽然该框架提供了一系列内置属性,但开发人员还可以创建自定义属性以满足其特定要求。在本文中,我们将深入探讨 .NET 中自定义属性的创建、用法和好处,以及一些...
3-17 9:11
230
.net中加密时公钥基础结构概念
介绍在当今的数字时代,签署实体文件的传统做法已被数字签名所取代。这些数字签名与纸质签名具有相同的法律效力,并得到法院和当局的认可。然而,问题来了:我们如何信任这些数字签名?答案就在被称为公钥基础设施 (PKI) 的底层框架中。PKI 包含一个由算法、机制、软...
3-17 9:8
205
C#抛出异常与返回错误
介绍在面向对象编程 (OOP) 领域,用户经常发现自己在复杂的业务逻辑流中导航。然而,这个过程并不总是一帆风顺的,因为意外的情况可能会扰乱预定的路线。想象一下,一个用户使用不正确的输入调用一个函数——这是需要我们作为开发人员注意的常见情况。为了解决这种情...
3-17 9:4
212
C# 中的记录和 DDD 中的值对象
介绍记录是类似于类的引用类型,具有合成成员。它们支持从其他记录继承,但不支持从类继承。合成成员包括相等成员(如 和 )和复制成员(如复制构造函数)。什么是记录随着 C# 9 [1] 的发布,C# 引入了记录。但在较新的版本中,记录得到了改进,我们专注于 C# 12 中较新...
3-17 9:0
220
如何在 C# 中选择抽象类或接口?
在错综复杂的 C# 编程领域中,在抽象类和接口之间做出选择的决定是一个微妙的过程,它塑造了软件的结构和行为。当开发人员努力设计健壮且可维护的系统时,问题出现了:如何在 C# 中选择抽象类或接口?这个关键的决策过程涉及对设计目标、编码模式和手头应用程序的特定需...
3-16 9:59
200
将应用程序从 .NET 6 迁移到 .NET 8
随着 .NET 8 的发布,开发人员热衷于利用此升级附带的最新功能、性能改进和安全增强功能。但是,从 .NET 6(LTS(长期支持)版本)过渡到 .NET 8 需要仔细规划和执行,这主要是因为要跨主要版本进行转换。.NET 6 作为长期支持 (LTS) 发布周期的一部分,先后是 .NET 7 ...
3-16 9:56
284
<<
<
…
69
70
71
72
73
74
75
76
77
78
…
>
>>
阅读排行
深入WPF数据绑定:Converter...
3257
C#异步定时器:精准定期执行...
3249
WPF应用中融入ASP.NET Core...
2576
在C# .NET 8中使用MediatR实...
2341
.NET Core 中集成Dapper高级...
2003
延迟等待的艺术:C#中Task.D...
1979
.NET 性能分析:.NET 8 中的...
1850
精准数字处理:C#中四舍五入...
2178
WPF中轻松生成动态图表:实...
1945
串口通信利器:RJCP.DLL.Ser...
1901
轻松上传:C#中HTTP POST mu...
1956
C# 中的并发性:使用 Blocki...
1678
C#屏幕截图:轻松捕获活动窗...
1775
C#中轻松实现二维码和条形码...
1638
C#串口通讯实战:基础功能及...
1622
深入了解SOAPCore:在.NET 6...
1601
在 .NET8 中通过 RabbitMQ实...
1447
MediatR让进程内通信如此简...
2584
ASP.NET 后端开发:全面的路...
1333
WPF中轻松操控GIF动画:WpfA...
1453
解决WPF界面卡死等待问题:...
2550
实现WPF多语言支持:简单灵...
1399
.net中OpenCVSharp+Zxing读...
1381
.NET —ToList 和 ToArray ...
1255
Microsoft.Extensions.Loggi...
1282
ASP .NET Core 8+ 中的全局...
1241
C#中Task.Run怎么用?能解决...
1351
还在到处加异常日志记录?试...
1339
打造真实感十足的速度表盘:...
1299
.NET 9中ToList 和 ToArray ...
1175
掌握System.Text.Json中的多...
1285
WPF神器揭秘:一键截图,轻...
1160
解密C#中允许HttpClient使用...
1171
掌握ImageSharp:图像处理的...
1245
深入理解WPF中的Dispatcher...
1233
轻松实现.NET应用自动更新:...
1229
C#文件编码检测:轻松解析文...
1115
使用OpenXML在.NET 6中导出E...
1197
ASP.NET Core .NET 8 中间件...
1073
在 ASP.NET Core Web API 中...
1073
.NET 中的 UUID 和 ULID:最...
1071
C# 中的弱事件 — 如何避免...
1064
解密C# Socket通信:克服粘...
1138
ZLogger v2 架构:利用 .NET...
1011
C# .NET 8中的自动映射器Aut...
1008
WPF魔法:轻松实现依赖注入...
2236
FluentFTP实战:轻松操控FTP...
1098
WPF开发新境界:MVVM设计模...
1073
WPF大展示专业指南:轻松实...
1145
C# Socket通信:灵活传输DTO...
957