Skip to content

Conversation

Copilot
Copy link
Contributor

@Copilot Copilot AI commented Oct 14, 2025

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:

    • Source code (src/)
    • Tests (test/)
    • Performance benchmarks (perf/)
    • Sample application (sample/)
    • Solution filter (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's System.Threading.RateLimiting.ConcurrencyLimiter provides equivalent functionality with better performance and integration.

More information: https://aka.ms/aspnet/rate-limiting

Verification

  • Confirmed no external references to Microsoft.AspNetCore.ConcurrencyLimiter remain in the repository
  • The RateLimiting middleware correctly continues to use System.Threading.RateLimiting.ConcurrencyLimiter (standard library type) and is unaffected by this deletion
Original prompt

Delete the entire src/Middleware/ConcurrencyLimiter/ folder in the dotnet/aspnetcore repository, including all subfolders and files (perf/, sample/, src/, test/, ConcurrencyLimiter.slnf, etc.). Remove all code and documentation contained within this folder, as this middleware is deprecated. Ensure that no references to ConcurrencyLimiter remain outside this folder (no external references were found).

This pull request was created as a result of the following prompt from Copilot chat.

Delete the entire src/Middleware/ConcurrencyLimiter/ folder in the dotnet/aspnetcore repository, including all subfolders and files (perf/, sample/, src/, test/, ConcurrencyLimiter.slnf, etc.). Remove all code and documentation contained within this folder, as this middleware is deprecated. Ensure that no references to ConcurrencyLimiter remain outside this folder (no external references were found).


💡 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.

Copy link
Contributor

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!

@BrennanConroy BrennanConroy added area-middleware Includes: URL rewrite, redirect, response cache/compression, session, and other general middlewares and removed Attention: Shared Code Modified labels Oct 14, 2025
Co-authored-by: BrennanConroy <7574801+BrennanConroy@users.noreply.github.com>
@Copilot Copilot AI changed the title [WIP] Remove deprecated ConcurrencyLimiter folder and its contents Delete deprecated ConcurrencyLimiter middleware Oct 14, 2025
Copilot finished work on behalf of BrennanConroy October 14, 2025 02:00
@Copilot Copilot AI requested a review from BrennanConroy October 14, 2025 02:00
@BrennanConroy BrennanConroy marked this pull request as ready for review October 14, 2025 16:53
@Copilot Copilot AI review requested due to automatic review settings October 14, 2025 16:53
@BrennanConroy BrennanConroy requested review from a team and wtgodbe as code owners October 14, 2025 16:53
Copy link
Contributor

@Copilot Copilot AI left a 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-middleware Includes: URL rewrite, redirect, response cache/compression, session, and other general middlewares

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants