* Fix #6102 - Intense CPU utilization on page change
The issue here was that every time a Razor Page changed, we would
subscribe an additional time to the endpoint change notifications. This
means that if you tweaked a page 30 times, we would update the address
table 31 times when you save the file. If you were doing a lot of editing
then this would grow to a really large amount of computation.
The fix is to use DataSourceDependentCache, which is an existing utility
type we developed for this purpose. I'm not sure why it wasn't being
used for this already. We're already using DataSourceDependentCache in a
bunch of other places, and it's well tested.
I also tweaked the stucture of this code to be more similar to
EndpointNameAddressScheme. This involved some test changes that all
seemed like good cleanup. The way this was being tested was a little
wonky.
(cherry picked from commit
|
||
|---|---|---|
| .. | ||
| Authentication.Abstractions/src | ||
| Authentication.Core | ||
| Headers | ||
| Http | ||
| Http.Abstractions | ||
| Http.Extensions | ||
| Http.Features | ||
| Owin | ||
| Routing | ||
| Routing.Abstractions | ||
| WebUtilities | ||
| samples/SampleApp | ||
| HttpAbstractions.sln | ||
| README.md | ||
| startvs.cmd | ||
README.md
Http Abstractions
This folders contains projects for HTTP abstractions for ASP.NET Core such as HttpContext, HttpRequest, HttpResponse and RequestDelegate.
It also contains IApplicationBuilder and extensions to create and compose your application's pipeline.