AspNetCoreRateLimit
aspnetcore-redis-rate-limiting
AspNetCoreRateLimit | aspnetcore-redis-rate-limiting | |
---|---|---|
5 | 3 | |
3,051 | 192 | |
- | - | |
1.0 | 7.6 | |
about 1 month ago | about 1 month ago | |
C# | C# | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
AspNetCoreRateLimit
-
.Net 7 rate limiting with redis distributed cache with tenant based architecture
AFAIK the new built-in rate limiting only supports in-memory counters at the moment. You will need to use the old open source rate limiting package instead: https://github.com/stefanprodan/AspNetCoreRateLimit
-
ASP.NET Core rate limiting middleware in .NET 7
In this post, I wanted to give you some insights about how you can use the ASP.NET Core rate limiting middleware. It’s not as complete as Stefan Prodan’s AspNetCoreRateLimit, but there are enough options available to add rate limiting to your application.
- Can I protect an controller endpoint from getting brute forced?
-
How to implement API Rate limiting/throttling [.Net Framework 4.5]
Have a look at this package: https://github.com/stefanprodan/AspNetCoreRateLimit
-
Stream Emojis - Build it yourself 🛠
Eventually I got around to implementing rate limiting on the endpoints, for the dotnet Core WebApi it is really easy to add thanks to the AspNetCoreRateLimit NuGet package. I chose to limit the endpoint to 2 requests per second, per IP Address as well as a limit of 10 requests per 30 seconds per IP Address. Then on the front end I added some messages to let the user know that they are being rate limited and we also limit their ability to spam the same emoji multiple times.
aspnetcore-redis-rate-limiting
-
Distributed pool
Using Redis is a viable solution for this and a quick search on GitHub reveals this implementation built on-top of .NET 7+ rate-limiting components:https://github.com/cristipufu/aspnetcore-redis-rate-limiting/tree/master
-
.Net 7 rate limiting with redis distributed cache with tenant based architecture
Found the GitHub project I was talking about which is trying to do the same - https://github.com/cristipufu/aspnetcore-redis-rate-limiting
What are some alternatives?
Ocelot - .NET API Gateway
ratelimit.org - Rate Limited Requests made easy
SoapCore - SOAP extension for ASP.NET Core
cachegrand - cachegrand - a modern data ingestion, processing and serving platform built for today's hardware
practical-aspnetcore - Practical samples of ASP.NET Core 8.0, 7.0, 6.0, 5.0, 3.1, 2.2, and 2.1,projects you can use. Readme contains explanations on all projects.
StackExchange.Redis.Extensions
Carter - Carter is framework that is a thin layer of extension methods and functionality over ASP.NET Core allowing code to be more explicit and most importantly more enjoyable.
DistributedLock - A .NET library for distributed synchronization
nopCommerce - ASP.NET Core eCommerce software. nopCommerce is a free and open-source shopping cart.
ASP.NET Core - ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
Electron.NET - :electron: Build cross platform desktop apps with ASP.NET Core (Razor Pages, MVC, Blazor).
cqrs-clean-eventual-consistency - CQRS, using Clean Architecture, multiple databases and Eventual Consistency