高并发处理

使用 SemaphoreSlim 队列来处理高并发请求。

1、注入 SemaphoreSlim 类,参数为可以同时处理请求的数量。

2、将并发限制中间件 ConcurrencyLimiterMiddleware 添加到管道中。

public static void Main(string[] args)
{
    FlexibleCoreInit.Build(args, (opt, cft) =>
    {
        opt.ConfigureServices(services =>
        {
            services.AddSingleton(s =>
            {
                return new SemaphoreSlim(1000);

            });
        });

        opt.Configure(3, (app, env) =>
        {
            // 将并发限制中间件添加到管道中
            app.UseMiddleware();
        });

    }).Run();
}
                

其中:1000 代表同时并发的数量,3 代表中间件的执行序列。