public async Task InvokeAsync(HttpContext context) { var ip = context.Connection.RemoteIpAddress.ToString(); var count = await _redisProvider.GetFromRedisAsync(ip); if (count > _limitConfig.LimitationCount) { context.Response.StatusCode = 429; await context.Response.WriteAsync("429"); } count++; await _redisProvider.SetToRedisAsync(ip, count.ToString(), TimeSpan.MaxValue); await _next(context); }