尝试激活“AspNetCoreRateLimit.IpRateLimitMiddleware”时无法解析类型“AspNetCoreRateLimit.IProcessingStrategy”的服务

Shi*_*hab 13 version rate-limiting nuget-package asp.net-web-api asp.net-core-5.0

我使用了包 AspNetCoreRateLimit Version="4.0.1",但出现以下异常:尝试激活 'AspNetCoreRateLimit.IpRateLimitMiddleware' 时无法解析类型 'AspNetCoreRateLimit.IProcessingStrategy' 的服务,但当我使用包 AspNetCoreRateLimit Version=" 3.2.2”它可以工作。虽然 Version="4.0.1" 是最新的稳定版本,但我无法使用它。如果我继续使用 Version="3.2.2",以后会出现什么样的错误?

tho*_*ker 27

根据 AspNetCoreRateLimit 的作者,您必须在 Startup.cs 中添加以下代码行

services.AddSingleton<IProcessingStrategy, AsyncKeyLockProcessingStrategy>();
Run Code Online (Sandbox Code Playgroud)

似乎他们不再注册默认的 IProcessingStrategy。请参阅此处: https: //github.com/stefanprodan/AspNetCoreRateLimit/issues/236#issuecomment-883311511