Go to file
Ryan Nowak 3e5b37f22c Fix #6102 - Intense CPU utilization on page change (#6542)
* 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 a5658a8c95)
2019-01-15 16:55:27 -08:00
.azure/pipelines Switch queues used during Windows builds (#6667) 2019-01-14 10:07:12 -08:00
.config
.vscode
build Merge branch 'release/2.1' into release/2.2 2019-01-14 19:04:39 -08:00
docs Merge branch 'release/2.1' into release/2.2 2019-01-10 01:22:10 -08:00
eng Change consumes behavior to ignore requests with no content type (#6645) 2019-01-16 11:55:54 +13:00
modules Updating submodule(s) 2019-01-14 16:06:53 -08:00
scripts Switch queues used during Windows builds (#6667) 2019-01-14 10:07:12 -08:00
src Fix #6102 - Intense CPU utilization on page change (#6542) 2019-01-15 16:55:27 -08:00
test/Cli.FunctionalTests Switch queues used during Windows builds (#6667) 2019-01-14 10:07:12 -08:00
.editorconfig
.gitattributes
.gitignore Merge branch 'release/2.1' into release/2.2 2019-01-10 01:22:10 -08:00
.gitmodules
CONTRIBUTING.md
Directory.Build.props Merge branch 'release/2.1' into release/2.2 2019-01-10 01:22:10 -08:00
Directory.Build.targets Merge branch 'release/2.1' into release/2.2 2019-01-10 01:22:10 -08:00
LICENSE.txt
NuGet.config
README.md Create Kestrel.sln, update documentation and README, and ensure all Kestrel test projects have the test logger installed 2018-11-14 13:14:47 -08:00
THIRD-PARTY-NOTICES
build.cmd
build.sh
dockerbuild.sh
global.json Merge branch 'release/2.1' into release/2.2 2019-01-10 01:22:10 -08:00
korebuild-lock.txt Don't restore npmproj files in parallel (#6560) 2019-01-10 08:21:26 -08:00
korebuild.json
run.cmd
run.ps1 Switch queues used during Windows builds (#6667) 2019-01-14 10:07:12 -08:00
run.sh
startvs.cmd
version.props Update the package baseline (#6614) 2019-01-14 12:21:45 -08:00

README.md

ASP.NET Core

ASP.NET Core is an open-source and cross-platform framework for building modern cloud based internet connected applications, such as web apps, IoT apps and mobile backends. ASP.NET Core apps can run on .NET Core or on the full .NET Framework. It was architected to provide an optimized development framework for apps that are deployed to the cloud or run on-premises. It consists of modular components with minimal overhead, so you retain flexibility while constructing your solutions. You can develop and run your ASP.NET Core apps cross-platform on Windows, Mac and Linux. Learn more about ASP.NET Core.

Get Started

Follow the Getting Started instructions in the ASP.NET Core docs.

Also check out the .NET Homepage for released versions of .NET, getting started guides, and learning resources.

How to Engage, Contribute, and Give Feedback

Some of the best ways to contribute are to try things out, file issues, join in design conversations, and make pull-requests.

Reporting security issues and bugs

Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) secure@microsoft.com. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the Security TechCenter.

These are some other repos for related projects:

Code of conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.