刷新
封装 BackgroundService

博主头像 基类 我在ExecuteAsync中写的是while 也可以增加定时器 看自己需求,while的好处就是在上一次Work没有执行时下一次Work不会执行,定时器的话就是相反不管上一次Work有没有执行完,到下一次执行时间后,都会执行 public abstract class BaseJob : B ...

.NET9 AOT部署

博主头像 概念 AOT是Ahead-of-Time的缩写,AOT是将C#程序提前编译为机器代码(通常为平台特定的二进制文件),在应用程序启动之前完成编译过程。 微软官方文档是这样说的 将应用程序发布为本机 AOT 会生成一个自包含的应用程序,并且已提前 (AOT) 编译为本机代码。原生 AOT 应用程序具有更 ...

.NET Core 中如何构建一个弹性的 HTTP 请求机制?

博主头像 1. 理解弹性 HTTP 请求机制 什么是弹性? 弹性是指系统在面对故障或异常情况时,能够保持或快速恢复到正常状态的能力。在 HTTP 请求的上下文中,弹性意味着当请求失败时,系统能够自动采取一系列措施(如重试、降级、断路等)来确保请求最终成功或优雅地处理失败。 为什么需要弹性 HTTP 请求机制? ...

菜单权限的设计与实现

博主头像 说明 该文章是属于OverallAuth2.0系列文章,每周更新一篇该系列文章(从0到1完成系统开发)。 该系统文章,我会尽量说的非常详细,做到不管新手、老手都能看懂。 说明:OverallAuth2.0 是一个简单、易懂、功能强大的权限+可视化流程管理系统。 友情提醒:本篇文章是属于系列文章,看该 ...

.NET 中 Logger 常被忽视的方法 BeginScope

博主头像 BeginScope 方法是 .NET 中 ILogger 接口的一部分,用于创建日志记录的作用域(Scope)。这种作用域可以将特定的上下文信息包含在日志中,从而提高日志的可读性和调试效率。 配置日志包含作用域信息 首先,需要在日志配置中启用包含作用域信息。以 appsettings.json 为 ...

并发编程 - 线程浅试

博主头像 C#中线程创建有ThreadStart、ParameterizedThreadStart和Lambda表达式三种方式,线程可休眠、等待,需注意异常处理。线程非万能,需按需使用,适用于文件写、网络请求、数据库查询等场景。 ...

C#中如何使用异步编程

博主头像 在 C# 中,异步编程主要通过 async 和 await 关键字来实现。异步编程的目的是让程序在执行耗时操作(如 I/O 操作、网络请求等)时不会阻塞主线程,从而提高程序的性能。 1. 异步编程的核心概念 async 关键字 用于标记一个方法为异步方法。 异步方法的返回类型通常是 Task、Tas ...

HTTP与HTTPS的作用与区别

博主头像 在日常浏览网页的过程中,我们常常会看到网站的地址栏中有些是以 http:// 开头,而另一些则是以 https:// 开头。那么,它们之间到底有什么区别呢?为何 HTTPS 越来越被推荐作为网络安全的标准?在本文中,我们将深入探讨 HTTP 和 HTTPS 的作用与区别,以及它们如何保障我们在互联网 ...

.net工作流elsa-触发器

博主头像 必备知识 触发器会用到书签和调度,这个在我的另外两篇文章中有分析。 什么是触发器 可以直接调用流程引擎的IWorkflowRuntime获取IWorkflowClient,然后调用它的CreateAndRunInstanceAsync来启动一个全新的流程。 也可以让流程引擎监听一个事件,当事件触发时 ...

在 ASP.NET Core WebAPI如何实现版本控制?

博主头像 在 ASP.NET Core WebAPI 中实现版本控制(Versioning)是一种常见的做法,用于管理 API 的演进和兼容性。通过版本控制,我们可以在不破坏现有客户端的情况下引入新功能或修改现有功能。以下是实现版本控制的几种常见方法: 1. 使用 URL 路径版本控制 将版本号嵌入到 URL ...

并发编程 - 初识线程

博主头像 线程是操作系统单独执行任务的最小单元,分前台和后台,有优先级,经历多个状态。C#可设置线程优先级和类型,控制线程状态的方法有Start、Sleep等,但Suspend和Abort已被弃用。多线程编程需通过同步机制控制线程执行。 ...

如何在 ASP.NET Core 中实现速率限制?

博主头像 在 ASP.NET Core 中实现速率限制(Rate Limiting)中间件可以帮助你控制客户端对 API 的请求频率,防止滥用和过载。速率限制通常用于保护服务器资源,确保服务的稳定性和可用性。 ASP.NET Core 本身并没有内置的速率限制中间件,但你可以通过自定义中间件或使用第三方库来实 ...

.net工作流elsa-书签

博主头像 啥是书签 流程引擎的核心关注点是安排流程,如:第1步做什么 → 第2步做什么 → 第n步做什么...,至于各步骤具体是怎么做的,是由你来决定的,这不是流程引擎关注的重点。 流程安排可能会涉及到分叉、并行多个线路执行,但这只是流程安排的一种形式。 另外如果你硬要在步骤中直接把某件事做了也行,这种情况一 ...

推荐一款 .NET 智慧水务物联网系统

博主头像 前言 本文将介绍如何通过智能水表(如 NB-IoT 水表)、智能消火栓、智能阀门、数据采集终端(RTU 或 PLC)及其他前置传感器和设备,开发一个高效、智能的供水管理系统。该系统能够实时采集和分析供水网络中的各种数据,帮助用户单位实现精细化管理和资源优化配置。 项目介绍 智慧水务物联网系统是用户单 ...

.Net Core 管道底层源码实现

博主头像 在 .NET Core 中,请求处理管道是一个中间件(Middleware)链,用于处理 HTTP 请求并生成响应。管道的底层实现基于 Microsoft.AspNetCore.Http 命名空间中的一些核心类和接口 1. 核心组件 1.1 HttpContext • HttpContext 是 H ...

Avalonia 简单实现输入法光标跟随效果

title: Avalonia 简单实现输入法光标跟随效果 description: 本文将告诉大家如何在 Avalonia 里面实现输入法光标跟随效果 tags: Avalonia category: 本文是在 11.1.0 的 Avalonia 版本里面实现效果 本文内容里面只给出关键代码片段, ...

<123···22>