Token Bucket算法

对于一个Web API,限流(throttling)是一个很重要的组件,主要有两个作用: 限制总体流量,从而保护Web API本身以及底层的组件。 限制每个用户的流量,从而避免一个用户...

阅读更多

如何配置Windows Service的崩溃恢复策略?

我们组有一个服务是作为Windows Service部署的,在服务崩溃后,希望能够借助Windows系统的一些机制来自动重启。最近对这个问题进行了一点研究,在此记录一下。 设置服务的Start...

阅读更多

.NET Core依赖注入中的Scoped Dependency是什么?

在.NET Core自带的依赖注入框架中,依赖的生命周期有三种: Singleton Scoped Transient Singleton和Transient都比较好理解,Sc...

阅读更多

使用.NET的HttpClient发送请求时,怎么定位延迟?

最近在工作中碰到一个问题,使用.NET的HttpClient发送请求时,发现延迟特别高。这里的延迟指的是从请求发出到收到响应的时间。 导致高延迟的原因可能有多种: 服务器端的处理时间比较...

阅读更多

常用的Git命令

设置用户名和邮箱 git config --global user.name "Your Name" git config --global user.email "your.email@ex...

阅读更多

LINQ中的Aggregate方法怎么用?

最近在写代码的时候,GitHub Copilot提示的代码中使用了LINQ的Aggregate方法,以前没用过,所以研究了一下。 Aggregate方法的用处 我们从一个例子来看Aggreg...

阅读更多

.NET的TaskCompletionSource类有什么用?

最近在看同事代码的时候,看到了一个之前从来没用过的类TaskCompletionSource,研究了一下这个类是干嘛的,在此记录一下。 TaskCompletionSource类的作用 简单...

阅读更多

.NET的Regex类是线程安全的吗?

在.NET中,Regex类表示正则表达式。这个类是线程安全的吗?最近碰到了一个案例,对这个问题有了一些理解,在此记录一下。 案例描述 我们有一个REST API,托管了/{CompanyId...

阅读更多