• 2024-09-25手动取消并释放Task资源
    用取消令牌取消TaskCancellationTokenSource:取消令牌cancellationTokenSource?.Cancel();:其中?表示判断cancellationTokenSource是否为null,如果不是null才取消,否则会造成找不到实例的异常当!cancellationToken.IsCancellationRequested后则不再进入While循环中,最后等待Threa
  • 2024-08-28一起来学习.net core程序使用中介者模式:MediatR插件
    一起来学习.netcore程序使用中介者模式:MediatR插件     中介者模式是一种常见的设计模式,旨再降低程序的耦合性,因为传统的三层模式层层之间需要显示的调用,必须上层依赖下层,耦合性很高,为了解耦,将所有的指令单独放在一个位置处理,其他位置均通过这个位置来间接的调用,从
  • 2024-05-19在 ASP.NET Core 中使用托管服务实现后台任务
    在ASP.NETCore中,后台任务作为托管服务实现。托管服务是一个类,具有实现 IHostedService 接口的后台任务逻辑。本文提供了三个托管服务示例:在计时器上运行的后台任务。激活有作用域的服务的托管服务。有作用域的服务可使用依赖项注入(DI)。按顺序运行的已排队后台任务
  • 2024-05-10在Biwen.QuickApi中整合一个极简的发布订阅(事件总线)
    闲来无聊在我的Biwen.QuickApi中实现一下极简的事件总线,其实代码还是蛮简单的,对于初学者可能有些帮助就贴出来,有什么不足的地方也欢迎板砖交流~首先定义一个事件约定的空接口publicinterfaceIEvent{}然后定义事件订阅者接口publicinterfaceIEventSubscriber<T>w
  • 2024-05-04【笔记】C# CancellationToken
    .NET提供了一个类方便用来发出操作取消的信号,这个类就是CancellationToken,它的好处在于它可以在任意数量的线程之间、线程池任务之间、Task之间传递信号,并且所需的代码很简单。通常用于下载超时中断、用户取消任务等情况。CancellationToken通常搭配CancellationTokenSource
  • 2024-05-01如何通过`HTTP2`实现TCP的内网穿透?
    可能有人很疑惑应用层转发传输层?,为什么会有这样的需求啊???哈哈技术无所不用其极,由于一些场景下,对于一个服务器存在某一个内部网站中,但是对于这个服务器它没有访问外网的权限,虽然也可以申请端口访问外部指定的ip+端口,但是对于访问服务内部的TCP的时候我们就会发现忘记申请了!这个时
  • 2024-03-17在C#中使用 CancellationToken 处理异步任务
    来源:在C#中使用CancellationToken处理异步任务-知乎(zhihu.com)在.NETCore中使用异步编程已经很普遍了,你在项目中随处可见async和await,它简化了异步操作,允许开发人员,使用同步的方式编写异步代码,你会发现在大部分的异步方法中,都提供了CancellationToken参数,本文主要介
  • 2024-03-05SemanticKernel如何基于自有数据聊天
    效果使用gpt-3.5-turbo的效果什么是向量数据库?向量数据库是一种专为处理高维向量数据而设计的数据库系统。与传统的关系型数据库不同,向量数据库专注于存储和查询向量数据,例如图像、音频、文本等。其核心思想是将数据表示为向量形式,并通过向量之间的相似度来进行查询和分析。
  • 2023-12-18C#中CancellationToken和CancellationTokenSource用法
    C#中CancellationToken和CancellationTokenSource用法 之前做开发时,一直没注意这个东西,做了.netcore之后,发现CancellationToken用的越来越平凡了。这也难怪,原来.netframework使用异步的不是很多,而.netcore首推异步编程,到处可以看到Task的影子,而CancellationToken
  • 2023-11-29.NET 6 新东西 --PeriodicTimer
    在.NET6中引入了新Timer:System.Threading.PeriodicTimer,它和之前的Timer相比,最大的区别就是新的PeriodicTimer事件处理可以方便地使用异步,消除使用callback机制减少使用复杂度。讲解PeriodicTimer之前我们先来看以下该怎么使用它:usingvarcts=newCancellationTok
  • 2023-11-28.NET Core的CancellationToken集成使用
    它用于在执行长时间运行的操作时,通过发送取消请求来终止操作。CancellationToken可以与异步操作一起使用,以便在操作执行期间检查是否已请求取消。它提供了一种优雅的方式来处理取消操作,避免了长时间运行的操作无法中断的问题。varhttpContext=Cfg.HttpContext
  • 2023-11-25.net 6 async await 取消Task任务
    引言在用await执行方法时,方法有时候会执行特别长时间,在执行过程中想中断方法,需要使用到CancellationToken类。控制台程序中取消Task任务一、创建一个执行需要很长时间的方法staticasyncTaskDownloadAsync(stringurl,intn, CancellationTokencancellationToken){
  • 2023-11-21Util应用框架基础(七) - 缓存
    本节介绍Util应用框架如何操作缓存.概述缓存是提升性能的关键手段之一.除了提升性能,缓存对系统健壮性和安全性也有影响.不同类型的系统对缓存的依赖程度不同.对于后台管理系统,由于是给管理人员使用的,用户有限,而且操作基本都需要身份认证和授权,甚至可能部署在局域网内,一
  • 2023-11-0510月26日总结
    ​WebApplication是用于配置HTTP管道和路由的web应用程序,接来下我将一一拆解它的组成。//////ThewebapplicationusedtoconfiguretheHTTPpipeline,androutes.///[DebuggerDisplay("{DebuggerToString(),nq}")][DebuggerTypeProxy(typeof(WebApplication.WebAp
  • 2023-10-28【.NET Core】创建一个在后台运行的控制台程序(ConsoleApp)
    文章目录1.添加Nuget包2.修改Program.cs3.添加TestService借助.NET的通用主机(IHostBuilder)可以轻易创建一个可以执行后台任务的程序1.添加Nuget包Microsoft.Extensions.Hosting2.修改Program.cs通过Host获取IHostService,然后添加一个名为TestSerivce的后台服务。internalcl
  • 2023-10-19造轮子之设置管理
    前面我们基础设施基本搭建完毕,后面可以做一些稍微复杂点的功能了,接下来就来实现一个设置管理。设置管理一般用做一些系统设置之类的,如邮箱配置等,面向使用人员。而不需要修改我们的配置文件,修改配置文件的方式就偏向于技术人员了。话不多说,开造。设计结构设置管理中需要2个表,一
  • 2023-10-16造轮子之种子数据
    在前面我们基本把应用框架的基础设施搭建完成。接下来我们就得着手处理一下种子数据的问题。在一个基础框架里面,种子数据很重要,比如一些基础数据,初始用户等等,这些都需要初始化,否则程序启动却无法使用就很尴尬了。IDataSeeder首先定义一个种子数据接口usingWheel.DependencyIn
  • 2023-10-09.net C# 流量限制令牌桶算法工具类
    流量限制令牌桶算法工具类usingSystem;usingSystem.Collections.Generic;usingSystem.Diagnostics;usingSystem.Threading;usingSystem.Threading.Tasks;namespaceCommon{///<summary>///令牌桶算法工具类///</summary>publicclassTokenB
  • 2023-10-08造轮子之ORM集成
    Dotnet的ORM千千万,还是喜欢用EFCORE前面一些基础完成的差不多了,接下来可以集成数据库了,官方出品的ORM还是比较香。所以接下来就是来集成EFCORE。安装包首先我们需要安装一下EFCORE的NUGET包,有如下几个:Microsoft.EntityFrameworkCore.ProxiesMicrosoft.EntityFrameworkC
  • 2023-10-08造轮子之缓存
    缓存也是在业务开发过程中经常使用的一环。在Asp.netcore中,原生包含了MemoryCache内存缓存和DistributedCache分布式缓存两种缓存。在Program中添加以下代码注册服务之后即可使用依赖注入使用两种缓存。builder.Services.AddMemoryCache();varredis=awaitConnectionMultip
  • 2023-09-16c# 异步 与 Link
    异步操作:"异步"指的是代码执行不按照顺序进行,而是通过使用回调函数、Promise、async/await等机制来实现非阻塞式的执行。在异步执行的情况下,代码不会等待前一段代码执行完成,而是继续执行后续的代码。当异步操作完成后,系统会通知代码进行相应的处理。 采用async/await实现
  • 2023-08-24上位机_C#多线程的取消、继续、停止
    publicForm1(){InitializeComponent();Task.Run(async()=>{for(inti=0;i<1000;i++){if(cancellationToken.IsCancellationReq
  • 2023-07-01Csharp的CancellationToken 案例
    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Net.Http;usingSystem.Text;usingSystem.Threading;usingSystem.Threading.Tasks;//命名空间namespacepro01{//类internalclassProgram{//main方法
  • 2023-06-30UE5 源码下载编译过程记录
    前言没有科学上网,就不要折腾了1注册Epic2注册github3关联账号在UE官网登入账号并且关联github账号4下载源码5执行Setup.bat5.1执行出错提示FailedtodownloadFailedtodownload'http://cdn.unrealengine.com/dependencies/UnrealEngine-24819931/19acf26186763763ae43ec3e4bd1
  • 2023-06-27【多线程笔记】如何优雅关闭线程
    在C#中,可以使用CancellationToken来优雅地关闭线程。CancellationToken是一个结构体,用于向线程发送信号以请求线程停止运行。以下是一个使用CancellationToken的示例代码:usingSystem;usingSystem.Threading;publicclassWorker{privateCancellationTokenSource_canc