-
一、背景相信很多人都知道通过 任务管理器[/pre] 抓取dump,虽然简单粗暴,但无法满足程序的无数种死法,比如:内存膨胀,程序爆炸CPU爆高,程序累死应用无响应,用户气死意外退出,和人生一样既然手工太弱鸡,那有 ...
-
一、讲故事上个月有个老朋友找到我,说他的站点晚高峰 CPU 会突然爆高,发了两份 dump 文件过来,如下图:又是经典的 CPU 爆高问题,到目前为止,对这种我还是有一些经验可循的。抓 2-3 个 dump第一个:有利于算两份 ...
-
↓推荐关注↓首先,我们要感谢正在阅读这篇文章的你,我们所有的产品开发都始于你也止于你,无论你是在开发者社区上发帖,还是填写了调查问卷,还是向我们发送了反馈意见,或者参与了客户研究,感谢你帮助我们继续引 ...
-
↓推荐关注↓自1995年互联网战略日以来最雄心勃勃的事业 —— 微软.NET战略, 2000年6月30日。微软公司于2002年2月13日正式推出第一代.NET平台 .NET Framewrok 1.0。借助于自家强大易用的 Windows 系统,.NET Framewo ...
-
当我们在用 .NET 调用 RestAPI 时通常有三种选择,分别为:WebClient, HttpWebRequest,HttpClient[/pre],这篇文章我们将会讨论如何使用这三种方式去调用 RestAPI,我还会提供相应的代码案例来帮助你更好的理解这三 ...
-
.NET 6 预览版 3 现已推出,其中包括许多对新的 ASP.NET Core 改进。以下是本次预览版的新内容:更小的 SignalR、Blazor Server、MessagePack 脚本文件启用 Redis 分析会话HTTP/3 端点 TLS 配置初步 .NET 热重载支持 ...
-
↓推荐关注↓延续《.NET 简单、高效、避免OOM的Excel工具》尝试进阶做成Excel模板填充数据生成工具 MiniExcel Template。主要特点同样以Stream流、延迟查询[/pre]避免全部数据载入内存情况,做到1GB内存降低到只需60 ...
-
↓推荐关注↓前言本文主要是讲解EF Core3.0+ 如何实现自定义的数据库扩展函数虽然EF.Functions 提供了很多数据库函数,但是并不全面.比如加密解密..这样的话 我们就需要自己扩展这些数据库函数 从而达到调用的目的.本 ...
-
↓推荐关注↓考虑到直接讲实现一个类Task库思维有点跳跃,所以本节主要讲解Async/Await的本质作用(解决了什么问题),以及Async/Await的工作原理。实现一个类Task的库则放在后面讲。首先回顾一下《C#异步编程由浅入 ...
-
↓推荐关注↓最近升级专案到大统一 .NET 5 并使用 C#9 语法尝试改写套件,发现之前以为 record 只是简单属性 POCO 的简化语法糖的认知是错误。另外因为 POCO 属于需定义口语词,这边在本文定义简单属性 POCO[/pre] ...
-
之前写《.NET gRPC 核心功能初体验》,利用gRPC双向流做了一个打乒乓的Demo,存储消息的对象是IAsyncEnumerable,这个异步可枚举泛型接口支撑了gRPC的实时流式通信。本文我将回顾分享foreach/yield return/async awa ...
-
大家用 ASP.NET Core 进行项目开发时,常会有生成 PDF 的需求,那如何生成呢?这篇文章我们就来讨论如何通过 DinkToPdf[/pre] 来生成 PDF 文档,DinkToPdf 封装了 C++ 的 wkhtmltopdf[/pre] 工具包,前者通过 P/Invo ...
-
yield关键词是在 C# 2.0 中被引入的,我们都知道实现了 IEnumerable 接口的类都可以用于被 foreach 迭代,这是因为 IEnumerable 接口中提供了一个可迭代的 GetEnumerator()[/pre] 方法,代码定义如下:public i ...
-
前言async/await异步操作,是C#中非常惊艳的"语法糖",让异步编程变得优美且傻瓜化到了不可思议的程度。就连JavaScript都借鉴了async/await语法,让回调泛滥的JavaScript代码变得很优美。我之前录制的.NET视频教程已 ...
-
↓推荐关注↓前言最近晚辈尝试做一个.NET简单、高效、避免OOM的Excel工具 MiniExcel。主要目前主流框架大多将资料全载入到内存方便操作,但这会导致内存消耗问题,MiniExcel 尝试以 Stream 角度写底层算法逻辑,能让 ...
-
↓推荐关注↓前言在如间的网络环境下,高并发的场景无处不在,特别在面试如何解决高并发是一个躲不过的问题,即使生产环境达不到那么高的qps但是也应该给自己留条后路来应对日后可能发生的高并发场景,不用匆忙的加 ...
-
当我们用 C# 进行编码的时候,总需要写很多的模板代码,即使是最简单的 console 程序,想象一下,如果去测试一个 类库[/pre] 或者 API[/pre] 的功能,通常你会用 Console 程序去实现,在开始工作的时候会发现你受到了 ...
-
咨询区stackoverflowuser:请问类型 IQueryable[/pre] 和 IEnumerable[/pre] 有什么异同?我应该使用哪一个而不是另一个,代码如下:IQueryable custs = from c in db.Customer ...
-
(给DotNet加星标,提升.Net技能)简介官方介绍,Flurl是一个现代的,流利的,支持异步的,可测试的,可移植的,URL增强和Http客户端组件。Url构建现在有一个登录的接口,地址如下:https://www.some-api.com/login? ...
-
介绍用一种全新的雪花漂移算法,让ID更短、生成速度更快。核心在于缩短ID长度的同时,还能拥有极高瞬时并发处理量(50W/0.1s),及强大的配置能力。需求来源1、作为架构设计的你,想要解决数据库主键唯一的问题,特 ...
-
(给DotNet加星标,提升.Net技能)转自:东邪独孤cnblogs.com/tcjiaan/p/14547950.html前言小风扇,其实就是一个电机(马达),然后轴子上套一个扇叶。扇叶有两叶的,也有三叶的。这种我们小时候没少玩,太阳能帽子 ...
-
(给DotNet加星标,提升.Net技能)匿名函数[/pre] 在 C# 中已经出现很多年了,虽然匿名函数用起来很爽,但代价是不小的,为了避免不必要那些你意想不到的内存分配,这就是为什么 C#9 中引入 static 匿名函数的原因, ...
-
(给DotNet加星标,提升.Net技能)转自:土伦cnblogs.com/yumaster/p/14523591.html前言去年下半年开始从BS开发转战CS开发了,相继做了一些大大小小的项目。最近在做的一个人脸识别挺有意思,作为一个初学者我也是摸 ...
-
(给DotNet加星标,提升.Net技能)英文:devblogs.microsoft.com译文:cnblogs.com/ElderJames译者:ElderJames前言《.NET 6 Preview 2 发布》其中包括许多对 ASP.NET Core 的新改进。以下是本次预览版的新内容:Raz ...
-
(给DotNet加星标,提升.Net技能)转自:dax.netcnblogs.com/daxnet/p/14456391.htmlVisual C# 8.0中引入了可空引用类型(Nullable reference type),通过编译器提供的强大功能,帮助开发人员尽可能地规避由空引用 ...
-
(给DotNet加星标,提升.Net技能)转自:lindexicnblogs.com/lindexi/p/14515588.html在 C# 9.0 里面添加的一个新特性是支持协变返回类型,也就说子类重写了基类的抽象或虚拟方法,可以在返回值里面返回协变的类型, ...
-
↓推荐关注↓前言本文主要是讲解EF Core3.0+ 通过拦截器实现读写分离与SQL日志记录注意拦截器只有EF Core3.0+ 支持,2.1请考虑上下文工厂的形式实现.正文一、通过拦截器实现读写分离先讲一下本文实现的方式吧SQL 通过 ...
-
↓推荐关注↓起因近期项目中,提供了一些调用频率较高的api接口,需要保障服务器的稳定运行;需要对提供的接口进行限流控制。避免因客户端频繁的请求导致服务器的压力。一、AspNetCoreRateLimit 介绍AspNetCoreRateL ...
-
↓推荐关注↓在领域驱动设计中,由于领域边界的存在,以往的分层设计中业务会按照其固有的领域知识被切分到不同的限界中,并且引入了领域事件这一概念来降低单个业务的复杂度,通过非耦合的事件驱动来完成复杂的业务 ...
-
前言.NET Core 中使用异步编程已经很普遍了, 在项目中随处可见 async 和 await,它简化了异步操作,允许开发人员,使用同步的方式编写异步代码,你会发现在大部分的异步方法中,都提供了CancellationToken参数,本 ...
-
算法介绍一个全新的雪花漂移算法,生成的ID更短、速度更快。核心在于缩短ID长度的同时,具有极高瞬时并发处理量(保守值 50W/0.1s)。原生支持 C#/Java/Go/Rust/C 等语言,并由 Rust 提供 PHP、Python、Node.js、Rub ...
-
↓推荐关注↓一、什么算异步?广义来讲,两个工作流能同时进行就算异步,例如,CPU与外设之间的工作流就是异步的。在面向服务的系统中,各个子系统之间通信一般都是异步的,例如,订单系统与支付系统之间的通信是异 ...
-
介绍在微服务大行其道的今天,系统会被拆分成多个模块,作为单独的服务运行,同时为了集中化管理,我们还需要日志中心,配置中心等,很多开发人员可能更熟悉 ApolloConfig,这个组件功能也很完善,dotnet的客户端也 ...
-
↓推荐关注↓前言.NET 6 Preview 3 发布,这个版本的改进大多来自于底层,一起来看看都有什么新特性和改进吧。库改进新增值类型作为字典值时更快的处理方法.NET 6 Preview 3 引入了新的 unsafe API CollectionsMarsh ...
-
↓推荐关注↓.NET Core引入了ioc机制让开发人员逐步习惯从过去的各种new对象变成通过IOC框架来管理对象的生命周期。这样当我们需要某个对象的时候,我们一般在构造函数里申明该对象的接口,即可通过ioc容器创建它。 ...
-
一、背景相信有很多朋友在遇到应用程序各种奇葩问题后,拿下来一个dump文件,辛辛苦苦分析了大半天,终于在某一个线程的调用栈上找到了一个可疑的方法,但 windbg 常常是以 汇编[/pre] 的方式显示方法代码的,可惜的 ...
-
一、背景1. 讲故事有位粉丝朋友在后台留言让我帮忙看看他的 Winform程序 UI无响应[/pre] + 410线程[/pre] 到底是啥情况,如下图:img说实话,能看到这些真实案例我是特别喜欢的免责声明:如果侵犯了您的权益,请联系 ...
-
一、背景《如何在 .NET 程序万种死法中有效的生成 Dump》上一篇我们聊到了如何通过 procdump 抓取 cpu爆高 和 内存暴涨 两种情况,这一篇再聊聊如何去抓程序 挂死 和 意外退出。二、程序挂死1. 定义程序挂死[/pre] ...
-
在《带你了解C#每个版本新特性》 一文中介绍了,C# 1.0 到 7.0 的不同特性,本文接着介绍在 8.0 和 9.0 中的一些常用新特性。C# 8.0在.NET Core 3.1及以上版本中就可以使用 C# 8 的语法,下面是 C# 8 中我认为比较常 ...
-
↓推荐关注↓支持Windows,Mac,Linux NES模拟器内核源码来自 https://github.com/colinvella/EmuNes 他这边的源码功能很完善了的,支持视频录制,手柄,金手指等等。现在移植到cpf来实现跨平台测试,不 ...
-
你可以遵循一些最佳实践来写出更干净的 Controller,一般我们称这种方法写出来的 Controller 为瘦Controller,瘦 Controller 的好处在于拥有更少的代码,更加单一的职责,也便于阅读和维护,而且随着时间的推移也容 ...
-
一、背景1.讲故事前几天有位朋友加wx求助说他的程序最近总是出现内存溢出,很崩溃,如下图:和这位朋友聊下来,发现他也是搞医疗的,哈哈,.NET 在医疗方面还是很有市场的免责声明:如果侵犯了您的权益,请联系站长 ...
-
↓推荐关注↓使用VS Code 从零开始开发调试.NET 5。无需安装VS 2019即可开发调试.NET 5应用。VS Code 全称是 Visual Studio Code,Visual Studio Code是一个轻量级的跨平台Web集成开发环境,可以运行在 Linux,Mac ...
-
前言在我以往的文章中,尤其涉及代码演示的,都使用了同一个工具——LINQPad。但许多客户面对我分享的.linq源文件都迷茫不知所措,因此有必要来聊聊一下这个强大的工具。本文首先将对该工具做个简单的介绍,并且分享 ...
-
↓推荐关注↓本来没想着要写这篇博客,但是在实操过程中,一个是被网络问题搞炸了心态(真心感觉网络能把人搞疯,别人下个包、下个镜像几秒钟搞定,我看着我的几KB小水管真是有苦说不出),另一个就是这里面坑还是有 ...
-
介绍Loki: like Prometheus, but for logsLoki是一个轻量级的日志系统,受到Prometheus项目的启发,由Grafana团队设计和开发,所以在Grafana中是原生支持的,具有可水平扩展,高度可用等特性,通过存储压缩的、非结 ...
-
↓推荐关注↓前言对于小程序大家可能都非常熟悉了,随着小程序的不断普及越来越多的公司都开始推广使用起来了。今天接到一个需求就是生成小程序码,并且于运营给的推广图片合并在一起做成一张漂亮美观的推广二维码, ...
-
一、背景1. 讲故事前天那位 his 老哥又来找我了,上次因为CPU爆高的问题我给解决了,看样子对我挺信任的,这次另一个程序又遇到内存泄漏,希望我帮忙诊断下。其实这位老哥技术还是很不错的,他既然能给我dump,那真 ...
-
一、背景1. 讲故事前几天有位朋友wx求助,它的程序CPU经常飙满,没找到原因,希望帮忙看一下。这些天连续接到几个cpu爆高的dump,都看烦了免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢 ...
-
.NET 6 预览版 4 现已发布,其中包括对 ASP.NET Core 的许多新改进。下面是此次预览版中 ASP.NET Core 的更新内容:引入最小 API异步流HTTP 日志中间件新项目中使用 Kestrel 作为默认启动IConnectionSocketFeature改 ...