-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Delete deprecated ConcurrencyLimiter middleware #64020
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Greetings human! You've submitted a PR that modifies code that is shared with https://github.com/dotnet/runtime . Please make sure you synchronize this code with the changes in that repo! |
Co-authored-by: BrennanConroy <7574801+BrennanConroy@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Removes the deprecated Microsoft.AspNetCore.ConcurrencyLimiter middleware and all associated assets from the repo.
Key changes:
- Deleted all ConcurrencyLimiter source, tests, benchmarks, sample, solution filter, and public API baseline files.
- Removed project/package references and shipping/baseline metadata entries for Microsoft.AspNetCore.ConcurrencyLimiter.
- Updated solution (.slnx) and solution filter (.slnf) files to drop the deleted projects.
Reviewed Changes
Copilot reviewed 36 out of 36 changed files in this pull request and generated no comments.
Show a summary per file
File | Description |
---|---|
src/Tools/Tools.slnf | Removed ConcurrencyLimiter project from tools solution filter. |
src/Middleware/Middleware.slnf | Removed ConcurrencyLimiter src/test/perf/sample projects from middleware solution filter. |
src/Middleware/ConcurrencyLimiter/test/TestUtils.cs | Deleted test utility for ConcurrencyLimiter. |
src/Middleware/ConcurrencyLimiter/test/TaskExtensions.cs | Deleted internal task extension helpers used by tests. |
src/Middleware/ConcurrencyLimiter/test/PolicyTests/StackPolicyTests.cs | Deleted stack policy unit tests. |
src/Middleware/ConcurrencyLimiter/test/PolicyTests/QueuePolicyTests.cs | Deleted queue policy unit tests. |
src/Middleware/ConcurrencyLimiter/test/MiddlewareTests.cs | Deleted middleware behavior tests. |
src/Middleware/ConcurrencyLimiter/test/Microsoft.AspNetCore.ConcurrencyLimiter.Tests.csproj | Removed test project. |
src/Middleware/ConcurrencyLimiter/test/ConcurrencyLimiterEventSourceTests.cs | Removed EventSource tests. |
src/Middleware/ConcurrencyLimiter/src/QueuePolicies/StackPolicy.cs | Deleted StackPolicy implementation. |
src/Middleware/ConcurrencyLimiter/src/QueuePolicies/QueuePolicyServiceCollectionExtensions.cs | Deleted DI extensions. |
src/Middleware/ConcurrencyLimiter/src/QueuePolicies/QueuePolicyOptions.cs | Deleted queue policy options class. |
src/Middleware/ConcurrencyLimiter/src/QueuePolicies/QueuePolicy.cs | Deleted QueuePolicy implementation. |
src/Middleware/ConcurrencyLimiter/src/QueuePolicies/IQueuePolicy.cs | Deleted IQueuePolicy interface. |
src/Middleware/ConcurrencyLimiter/src/QueuePolicies/BasePolicy.cs | Deleted base policy logic. |
src/Middleware/ConcurrencyLimiter/src/PublicAPI.Unshipped.txt | Removed unshipped public API placeholder. |
src/Middleware/ConcurrencyLimiter/src/PublicAPI.Shipped.txt | Removed shipped public API declarations. |
src/Middleware/ConcurrencyLimiter/src/Microsoft.AspNetCore.ConcurrencyLimiter.csproj | Deleted middleware project file. |
src/Middleware/ConcurrencyLimiter/src/ConcurrencyLimiterOptions.cs | Deleted options class. |
src/Middleware/ConcurrencyLimiter/src/ConcurrencyLimiterMiddleware.cs | Deleted middleware implementation. |
src/Middleware/ConcurrencyLimiter/src/ConcurrencyLimiterExtensions.cs | Deleted IApplicationBuilder extension. |
src/Middleware/ConcurrencyLimiter/src/ConcurrencyLimiterEventSource.cs | Deleted EventSource implementation. |
src/Middleware/ConcurrencyLimiter/sample/Startup.cs | Removed sample app startup. |
src/Middleware/ConcurrencyLimiter/sample/Properties/launchSettings.json | Removed sample launch settings. |
src/Middleware/ConcurrencyLimiter/sample/ConcurrencyLimiterSample.csproj | Removed sample project. |
src/Middleware/ConcurrencyLimiter/perf/Microbenchmarks/QueueRequestsOverwritten.cs | Deleted benchmark. |
src/Middleware/ConcurrencyLimiter/perf/Microbenchmarks/QueueFullOverhead.cs | Deleted benchmark. |
src/Middleware/ConcurrencyLimiter/perf/Microbenchmarks/QueueEmptyOverhead.cs | Deleted benchmark. |
src/Middleware/ConcurrencyLimiter/perf/Microbenchmarks/Microsoft.AspNetCore.ConcurrencyLimiter.Microbenchmarks.csproj | Deleted benchmarks project. |
src/Middleware/ConcurrencyLimiter/perf/Microbenchmarks/AssemblyInfo.cs | Deleted benchmark assembly attribute. |
src/Middleware/ConcurrencyLimiter/ConcurrencyLimiter.slnf | Removed solution filter for middleware. |
eng/ShippingAssemblies.props | Removed shipping assembly entry. |
eng/ProjectReferences.props | Removed project reference provider entry. |
eng/Baseline.xml | Removed package baseline entry. |
eng/Baseline.Designer.props | Removed baseline metadata and references block. |
AspNetCore.slnx | Removed ConcurrencyLimiter projects/folders from main solution. |
Summary
This PR removes the deprecated
Microsoft.AspNetCore.ConcurrencyLimiter
middleware from the repository. The middleware has been marked as obsolete and users have been directed to migrate to the concurrency features available in the rate limiting middleware (System.Threading.RateLimiting
).Changes
Deleted the entire
src/Middleware/ConcurrencyLimiter/
folder including:src/
)test/
)perf/
)sample/
)ConcurrencyLimiter.slnf
)Removed references from build configuration files:
eng/ProjectReferences.props
eng/Baseline.Designer.props
eng/Baseline.xml
eng/ShippingAssemblies.props
AspNetCore.slnx
src/Middleware/Middleware.slnf
src/Tools/Tools.slnf
Migration Path
Users of
ConcurrencyLimiter
middleware should migrate to the built-in concurrency features in the rate limiting middleware. The standard library'sSystem.Threading.RateLimiting.ConcurrencyLimiter
provides equivalent functionality with better performance and integration.More information: https://aka.ms/aspnet/rate-limiting
Verification
Microsoft.AspNetCore.ConcurrencyLimiter
remain in the repositorySystem.Threading.RateLimiting.ConcurrencyLimiter
(standard library type) and is unaffected by this deletionOriginal prompt
This pull request was created as a result of the following prompt from Copilot chat.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.