缓存webapi core net

集成RocketChat至现有的.Net项目中,为ChatGPT铺路

@ 前言 今天我们来聊一聊一个Paas的方案,如何集成到一个既有的项目中。 以其中一个需求为例子:在产品项目中,加入IM(即时通信)功能,开始徒手撸代码,会发现工作量很大,去github找开源项目,结果也可能事与愿违:功能不够强大,或者用不同的语言编写的,编译出来程序集无法集成到项目中。 可能当下最 ......
RocketChat ChatGPT 项目 Net

记一次 .NET某汽车零件采集系统 卡死分析

一:背景 1. 讲故事 前段时间有位朋友在微信上找到我,说他的程序会出现一些偶发卡死的情况,让我帮忙看下是怎么回事,刚好朋友也抓到了dump,就让朋友把 dump 丢给我,接下来用 windbg 探究下到底咋回事。 二:WinDbg 分析 1. 程序真的卡死吗 因为是一个 winform 程序,验证 ......
汽车零件 零件 汽车 系统 NET

.NET AsyncLocal 避坑指南

AsyncLocal 用法简介 通过 AsyncLocal 我们可以在一个逻辑上下文中维护一份私有数据,该上下文后续代码中都可以访问和修改这份数据,但另一个无关的上下文是无法访问的。 无论是在新创建的 Task 中还是 await 关键词之后,我们都能够访问前面设置的 AsyncLocal 的数据。 ......
AsyncLocal 指南 NET

.NET Task 揭秘(3)async 与 AsyncMethodBuilder

前言 本文为系列博客 什么是 Task Task 的回调执行与 await async 与 AsyncMethodBuilder(本文) 总结与常见误区(TODO) 上文我们学习了 await 这个语法糖背后的实现,了解了 await 这个关键词是如何去等待 Task 的完成并获取 Task 执行结 ......
AsyncMethodBuilder async Task NET

一次k8s docker下.net程序的异常行为dump诊断

背景 昨天,一位朋友找到我寻求帮助。他的项目需要调用一个第三方项目的webAPI。这个webAPI本身可从header, query string中取相关信息,但同事发现他在调用时,无法按期望的那样从query string中传参数给到第三方webAPI (webAPI仿佛忽略了从query str ......
行为 程序 docker dump k8s

ASP.NET Core中如何限制响应发送速率(不是调用频率)

前言 ASP.NET Core中有很多RateLimit组件,.NET 7甚至推出了官方版本。不过这些组件的主要目标是限制客户端访问服务的频率,在HTTP服务器崩溃前主动拒绝部分请求。如果请求没有被拒绝服务会尽可能调用资源尽快处理。 现在有一个问题,有什么办法限制响应的发送速率吗?这在一些需要长时间 ......
速率 频率 Core ASP NET

一个.Net Core开源缓存中间件,让你更加简单、方便使用缓存

上次给大家推荐过一个缓存中间件《一个C#开发的非常实用的缓存中间件》,今天再给大家推荐一个缓存中间件,两者功能差不多,都是提供统一接口、多级缓存、分布式缓存、支持多种Provider等。 项目简介 这是一个基于.Net Core开发的缓存中间件,它支持各种缓存并提供了很多高级功能。它的主要目标是让开 ......
缓存 中间件 Core Net

学习ASP.NET Core Blazor编程系列二十八——JWT登录(2)

JWT只是缩写,全称则是JSON Web Tokens,是目前流行的跨域认证解决方案,是基于开放标准RFC7519,提供一种身份认证与信息交换的解决方案,是一种基于JSON的用于在网络上声明某种主张的令牌(token)。 通俗地说,JWT的本质就是一个字符串,它是将用户信息保存到一个Js... ......
Blazor Core ASP NET JWT

学习ASP.NET Core Blazor编程系列二十九——JWT登录(3)

JWT只是缩写,全称则是JSON Web Tokens,是目前流行的跨域认证解决方案,是基于开放标准RFC7519,提供一种身份认证与信息交换的解决方案,是一种基于JSON的用于在网络上声明某种主张的令牌(token)。今天的文章使用API接口来实现使用JWT登录功能。 ......
Blazor Core ASP NET JWT

使用招商银行云直连服务提现(.Net6)

以下代码的功能是用户可以实现业务中用户虚拟钱包的钱提现到用户银行卡,其实本质上是把商户的账户资金划转到用户银行卡,其实就是银行转账,相关代码如下: ///此方法存在部分业务代码,核心方法是doProcess方法且基本是可以复用的,其它的代码可以根据自身业务场景灵活处理;public async Ta ......
Net6 Net

轮播图接口加缓存和定时更新(双写一致性问题以及其解决方案)

一、轮播图加缓存 有些知名网站首页被访问的频率很高,假设瞬间 1w个人在访问,首页的轮播图接口会执行1w次,1w次查询轮播图标的sql在执行,轮播图基本不变,首先我们给自己写的轮播图接口加缓存,我们可以用缓存数据库Redis来实现加缓存的需求 首先罗列一下文字版的逻辑,之后在代码上实现 当轮播图接口 ......
一致性 缓存 接口 解决方案 方案

如何在 Net6.0 中对 WebAPI 进行 JWT 认证和授权

一、简介 我们做微服务开发,或者说做分布式开发,有一项技术我们是避不开的,那就是WebAPI,在 Net6.0中,有两类 WebAPI,一类是极简 WebAPI,它砍掉了很多冗余的东西,更纯粹的是做 API的,也更适合做微服务的开发。另外一类就是我们通常使用的正常 API,这个没得说,也是我们使用最 ......
WebAPI Net6 Net JWT

如何让 WinDebug Preview 加载 Dotnet Core 的 SOS.dll 进行调试

一、前言 最近我在使用 WinDebug进行系统调试,也是在学习《Net高级调试》这本书。以前听过 WinDebug 调试器,但是没有使用过,由于最近想起来了,就好好的研究一下,学习一下。初次接触,还是走了不少弯路,踩了不少坑。关于 WinDebug 最新版的安装方法,可以在“微软商店”里面,直接查 ......
WinDebug Preview Dotnet Core SOS

【译】.NET 7 中的性能改进(十)

原文 | Stephen Toub 翻译 | 郑子铭 最后一个有趣的与IndexOf有关的优化。字符串早就有了IndexOf/IndexOfAny/LastIndexOf/LastIndexOfAny,显然对于字符串来说,这都是关于处理字符。当ReadOnlySpan和Span出现时,MemoryE ......
性能 NET

【译】.NET 7 中的性能改进(十一)

原文 | Stephen Toub 翻译 | 郑子铭 同样,为了不做不必要的工作,有一个相当常见的模式出现在string.Substring和span.Slice等方法中。 span = span.Slice(offset, str.Length - offset); 这里需要注意的是,这些方法都有 ......
性能 NET

【译】.NET 7 中的性能改进(十二)

原文 | Stephen Toub 翻译 | 郑子铭 New APIs 在.NET 7中,Regex得到了几个新的方法,所有这些方法都能提高性能。新的API的简单性可能也误导了为实现它们所需的工作量,特别是由于新的API都支持ReadOnlySpan输入到regex引擎。 dotnet/runtim ......
性能 NET

【译】.NET 7 中的性能改进(十三)

原文 | Stephen Toub 翻译 | 郑子铭 代码生成 (Code generation) .NET 7的regex实现有不少于四个引擎:解释器(如果你不明确选择其他引擎,你会得到什么),编译器(你用RegexOptions.Compiled得到什么),非回溯引擎(你用RegexOption ......
性能 NET

【译】.NET 7 中的性能改进(八)

原文 | Stephen Toub 翻译 | 郑子铭 Mono 到目前为止,我一直提到 "JIT"、"GC "和 "运行时",但实际上在.NET中存在多个运行时。我一直在谈论 "coreclr",它是推荐在Linux、macOS和Windows上使用的运行时。然而,还有 "mono",它为Blazo ......
性能 NET

【译】.NET 7 中的性能改进(九)

原文 | Stephen Toub 翻译 | 郑子铭 原始类型和数值 (Primitive Types and Numerics) 我们已经看过了代码生成和GC,线程和矢量化,互操作......让我们把注意力转向系统中的一些基本类型。像int、bool和double这样的基本类型,像Guid和Dat ......
性能 NET

【大型软件开发】开发日志(五).net框架与C++的融合:CLR——C++如何调用C#的DLL

做什么? 先说一下场景,现在正在开发一个Qt ActiveServer,也就是用一个应用程序去向其他的组件暴露接口,以达到提供服务的目的。 然后新版的框架要提供大部分功能,也就是要重做大部分模块。现在有一个问题,就是有一个用于提供向web发送post请求,获得回执并解析的模块,叫LBD_WebApi ......
软件开发 框架 软件 日志 net

配运基础数据缓存瘦身实践

在基础数据的常规能力当中,数据的存取是最基础也是最重要的能力,为了整体提高数据的读取能力,缓存技术在基础数据的场景中得到了广泛的使用,下面会重点展示一下配运组近期针对数据缓存做的瘦身实践。 ......
缓存 基础 数据

.NET中委托性能的演变

.NET中的委托 .NET中的委托是一项重要功能,可以实现间接方法调用和函数式编程。 自.NET Framework 1.0起,委托在.NET中就支持多播(multicast)功能。通过多播,我们可以在单个委托调用中调用一系列方法,而无需自己维护方法列表。 即使在今天,委托的多播功能在桌面开发中仍然 ......
中委 性能 NET

.NET周报 【2月第4期 2023-02-25】

国内文章 .NET微服务系统迁移至.NET6.0的故事 https://www.cnblogs.com/InCerry/p/microservice-migration-net-6.html 本次迁移涉及的是公司内部一个业务子系统,该系统是一个多样化的应用,支撑着公司的多个业务方向。目前,该系统由4 ......
周报 2023 NET 02 25

.NET周报 【3月第1期 2023-03-03】

国内文章 我做的FFmpeg开源C#封装库Sdcb.FFmpeg https://www.cnblogs.com/sdflysha/archive/2023/02/27/dotnet-conf-china-2022-ffmpeg.html FFmpeg是知名的音频视频处理软件,我平时工作生活中会经常 ......
周报 2023 03 NET

.NET周报 【3月第2期 2023-03-12】

国内文章 ASP.NET Core中如何限制响应发送速率(不是调用频率) https://www.cnblogs.com/coredx/p/17195492.html ASP.NET Core中有很多RateLimit组件,.NET 7甚至推出了官方版本。不过这些组件的主要目标是限制客户端访问服务的 ......
周报 2023 NET 03 12

如何通过C#/VB.NET从PowerPoint文档中提取图片

PowerPoint是用于制作幻灯片(演示文稿)的应用软件,每张幻灯片中都可以包含文字、图形、图形、表格、声音和影像等多种信息。有时候我们发现在PPT里面有一些精美的图片,或者其他原因想要把PPT里面的图片保存下来。但如果PowerPoint文档中包含大量图片,一张张保存未免太费时间及精力。那有什么... ......
PowerPoint 文档 图片 NET VB

3 .NET Core笔试题

1.什么是ASP.NET Core? 2.ASP.NET Core 中AOP的支持有哪些? 3.ASP.NET Core Filter的注册方式有哪些? 4.ASP.NET Core Filter如何支持依赖注入? 5.ASP.NET Core 如何和读取配置文件中的内容? 6.ASP.NET Co ......
试题 Core NET

.Net Core后端架构实战【1-项目分层框架设计】

摘要:基于.NET Core 7.0WebApi后端架构实战【1-项目结构分层设计】 2023/02/05, ASP.NET Core 7.0, VS2022 引言 从实习到现在回想自己已经入行四年了,很庆幸自己一直还是从事着开发的工作。这几年不管是工作还是生活都有很多不甘与失落还有收获,从学校出来 ......
架构 实战 框架 项目 Core

.Net Core中使用NEST简单操作Elasticsearch

C#中访问Elasticsearch主要通过两个包NEST和Elasticsearch.Net,NEST用高级语法糖封装了Elasticsearch.Net可以通过类Linq的方式进行操作,而Elasticsearch.Net相比之下更为原始直接非常自由。 注意:ES的8.X以上的版本有新的包Ela ......
Elasticsearch Core NEST Net

推荐一款.Net Core开发的后台管理系统YiShaAdmin

若依(RuoYi)是码云上一款精美的开源快速开发平台,作者毫无保留给个人及企业免费使用。RuoYi目前有三个版本:普通版本(RuoYi)、前后端分离版本(RuoYi-Vue)、微服务版本(RuoYi-Cloud)。.net的小伙伴们估计很羡慕JAVA的生态,现在.net core发展也很快,奈何生态 ......
YiShaAdmin 后台 管理系统 系统 Core