单例模式在对泛型的约束中,最常使用的关键字有where 和 new。 其中where关键字是约束所使用的泛型,该泛型必须是where后面的类,或者继承自该类。 new()说明所使用的泛型,必须具有无参构造函数,这是为了能够正确的初始化对象 /// <summary> /// C#单例模式 /// </summary& ......
434
0
0
2024-04-03
ASP.NET Core 中包含很多内置的中间件,我们不可能对每一个内置的中间件进行一一讲解,并且中间件的使用步骤大致一样,因此本文讲解几个常用的内置中间件以及使用中间件的步骤,希望读者们可以举一反三。一、内置中间件的介绍1.1 静态文件中间件在ASP.NET Core中,静态文件中间件是一种用于处理和提供静态文件的内置中间件。静态文件通常包括像样式表、脚本 ......
394
0
0
2024-04-03
本篇文章作为中间件单元的开篇文章,通过这篇文章可以了解什么是中间件、内置中间件的使用以及怎么创建自定义中间件。我们先来看一下中间件的角色、目的和重要性。1. 角色请求处理管道的构建块: 中间件是构成ASP.NET Core请求处理管道的基本组成部分。每个HTTP请求都通过一系列中间件,这些中间件负责处理请求的不同方面。处理请求和响应: 中间件可以用于处理传入 ......
392
0
0
2024-04-02
一、ASP.NET Core项目的基本结构ASP.NET Core项目的基本结构通常遵循一种标准的组织方式,这有助于提高项目的可维护性和可扩展性。以下是一个典型的ASP.NET Core项目的基本结构:项目文件 (.csproj): 项目的主要配置文件,定义了项目的依赖项、输出等信息。<Project Sdk="Microsoft.NET.Sdk.We ......
359
0
0
2024-03-25
在C#中,数组是一种常见的数据结构,用于存储一系列相同类型的元素。在使用数组时,一个关键的方面是内存管理。当我们创建数组时,系统需要分配一块内存来存储数组元素,并在数组不再需要时释放这些内存,以避免内存泄漏和提高系统资源利用率。然而,频繁的数组创建和销毁操作可能导致内存碎片化,降低程序的性能。为了解决这个问题,C#引入了ArrayPool类,它允许我们更有效 ......
389
0
0
2024-03-25
.NET8正式版本发布了,AnyCAD Rapid.NET针对.NET8进行了升级和优化。本文以WPF项目为例介绍在.NET8中使用AnyCAD Rapid.NET三维控件。1 从.NET6升级若之前使用NET6升级到.NET8,升级过程非常简单,升级到AnyCAD Rapid .NET最新版本后,仅需要更改以下两处:(1).csproj文件 <Tar ......
346
0
0
2024-03-19
WalkingTec.Mvvm框架(简称WTM)项目简介: WalkingTec.Mvvm框架(简称WTM)是基于.net core的快速开发框架。支持Layui(前后端不分离), React(前后端分离),VUE(前后端分离),内置代码生成器,最大程度的提高开发效率,是一款高效开发的利器。项目源码地址: https://github.com/dotnetc ......
245
0
0
2024-03-17
最近,博主为 FakeRPC[1] 增加了 WebSocket[2] 协议的支持。这意味着,我们可以借助其全双工通信的特性,在一个连接请求内发送多条数据。FakeRPC 目前最大的遗憾是,建立在 HTTP 协议上而不是 TCP/IP 协议上。因此,考虑 WebSocket 协议,更多的是为了验证 JSON-RPC[3] 的可行性,以及为接下来的要支持的 TC ......
232
0
0
2024-03-13
1、正确操作字符串拼接字符串一定要考虑使用StringBuilder ,默认长度为16,实际看情况设置。StringBuilder本质:是以非托管方式分配内存。同时StringFormat方法内部也是使用StringBuilder进行字符串格式化。2、使用默认转型方法类型的转换运算符 :每个类型内部都有一个方法(运算符),分为隐式转换和显示转换。自己实现隐式 ......
239
0
0
2024-03-13
前言老周是一个不喜欢做界面的码农,所以很多时候能用控制台交互就用控制台交互,既方便又占资源少。有大伙伴可能会说,控制台全靠打字,不好交互。那不一定的,像一些选项类的交互,可以用键盘按键(如方向键),可比用鼠标快得多。当然了,要是要触控的话,是不太好用,只能做UI了。关于控制台交互,大伙伴们也许见得最多的是进度条,就是输出一行但末尾不加 \n,而是用 \r 回 ......
197
0
0
2024-03-13
前言不管是官方自带模板还是其他开源搞的,总是一来一大堆,如果你也嫌弃这些过于臃肿,不如看看我这个方式已开源,没啥技术含量,只是一个思路开源地址:https://github.com/DotNetGoodMorning/SimpleWaiBao/tree/main正文1、前提假设我要做一个简单的API2、方式想到清爽,那肯定是简单方便,脑袋第一个念头就是.NE ......
210
0
0
2024-03-13
一、简介1.1 哨兵的概述哨兵(Sentinel)是 Redis 分布式系统中用于监控和管理多个 Redis 服务器的组件。它的主要目标是确保 Redis 系统的高可用性,通过实时监测主节点和从节点的状态,及时发现并自动处理故障,保证系统的稳定运行。1.2 为什么需要哨兵?引入Redis哨兵的原因主要与以下几个方面有关:高可用性需求:在生产环境中,确保Red ......
260
0
0
2024-03-09
一、引言1.1 概念介绍Redis管道是一种用于优化多个命令执行的机制,允许客户端将多个命令一次性发送给服务器,然后一次性接收所有命令的返回结果。这种机制可以减少客户端与服务器之间的网络往返次数,从而提高性能。1.2 作用提高性能: 管道的主要作用是提高性能和吞吐量。通过将多个命令打包在一个请求中发送给服务器,可以减少网络延迟和通信开销,从而加速数据传输和处 ......
268
0
0
2024-03-08
一、发布订阅模式概述1.1 什么是发布订阅发布订阅(Publish-Subscribe)是一种消息传递模式,用于在软件系统中实现解耦和灵活的组件通信。在发布订阅模式中,消息的发送者(发布者)并不直接将消息发送给特定的接收者(订阅者),而是将消息发送到一个中心化的调度机制,通常称为消息代理或主题(topic)。订阅者可以通过订阅特定的主题来接收感兴趣的消息,从 ......
310
0
0
2024-03-03
开发环境系统版本:win10.NET SDK: NET8开发工具:vscode参考引用:使用 dotnet user-jwts 管理开发中的 JSON Web 令牌注意:以下示例中的端口、token等需替换成你的环境中的信息创建项目运行以下命令来创建一个空的 Web 项目,并添加 Microsoft.AspNetCore.Authentication.Jwt ......
219
0
0
2024-03-02