These changes are aimed at significantly improving the performance of MVC/Razor when a large amount of content is in play or a large number of TagHelpers are used. A few issues addressed: - Buffer sync writes after a flush has occurred so that we can write them asyncronously. The issue is that an IHtmlContent can only do sync writes. This is very bad for Kestrel in general. Doing these writes async is better for our overall perf, and the buffer that we use for it is from the pool. - 'Flatten' ViewBuffers when possible. A page with lots of TagHelpers can end up renting a ViewBuffer and only write 2-3 things into it. When a ViewBuffer sees another ViewBuffer we can either steal its pages, or copy data out and 'return' its pages. This lets us use 3-4 buffers for a large Razor page instead of hundreds. |
||
|---|---|---|
| samples | ||
| src | ||
| test | ||
| tools | ||
| .gitattributes | ||
| .gitignore | ||
| .travis.yml | ||
| CONTRIBUTING.md | ||
| LICENSE.txt | ||
| Mvc.NoFun.sln | ||
| Mvc.sln | ||
| NuGet.config | ||
| NuGetPackageVerifier.json | ||
| README.md | ||
| Settings.StyleCop | ||
| appveyor.yml | ||
| build.cmd | ||
| build.sh | ||
| global.json | ||
| makefile.shade | ||
README.md
ASP.NET MVC
ASP.NET MVC gives you a powerful, patterns-based way to build dynamic websites that enables a clean separation of concerns and gives you full control over markup for enjoyable, agile development. ASP.NET MVC includes many features that enable fast, TDD-friendly development for creating sophisticated applications that use the latest web standards.
ASP.NET MVC in ASP.NET 5 includes support for building web pages and HTTP services in a single aligned framework that can be hosted in IIS or self-hosted in your own process.
Related community projects:
- AspNet.Mvc.TypedRouting: A collection of extension methods providing strongly typed routing and link generation for ASP.NET MVC 6 projects.
- ASP.NET MVC Boilerplate: Rich templates for ASP.NET MVC 5 and 6
This project is part of ASP.NET 5. You can find samples, documentation and getting started instructions for ASP.NET 5 at the Home repo.