- 2024-11-19Abp.VNext-异步执行器AsyncExecuter
作用方便在应用服务层对IQueryable执行异步操作。代码实现varqueryable=await_ordedrRepository.WithDetailAsync(x=>x.OrderItems);queryable=queryable.WhereIf(inputDto.Guids.Any(),x=>inputDto.GuidIds.Contains(x.Id));varpageQueryable=queryable.OrderBy(
- 2024-11-14.NET 8 强大功能 IHostedService 与 BackgroundService 实战
前言在.NET8中,IHostedService和BackgroundService两个核心接口的引入,增强了项目开发中处理定时任务的能力。这两个接口不仅简化了定时任务、后台处理作业以及定期维护任务的实现过程,还提升了在ASP.NETCore或任何基于.NET的宿主应用程序中的集成与管理效率。IHostedService
- 2024-11-07dd
downloadurlisishttps://www.hkex.com.hk/-/media/HKEX-Market/Mutual-Market/Stock-Connect/Eligible-Stocks/View-All-Eligible-Securities/SSE_Securities.csvdownloadiserror:System.Net.Http.HttpRequestException:TheSSLconnectioncouldnotbeestablished,
- 2024-10-19C#异步计数器的使用
1、CancellationTokenSourcecancellationToken=newCancellationTokenSource();publicvoidInitData(){cancellationToken.Token.Register(()=>{Name="被取消了";});intcount=0;Task.Run(()=>{whi
- 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实现