Go to file
Ryan Nowak 434da683fc Improve buffering of Razor output in MVC
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.
2016-01-25 12:40:52 -08:00
samples Update ASP.NET 5 versions for ASP.NET Core. 2016-01-22 12:40:26 -08:00
src Improve buffering of Razor output in MVC 2016-01-25 12:40:52 -08:00
test Improve buffering of Razor output in MVC 2016-01-25 12:40:52 -08:00
tools
.gitattributes
.gitignore
.travis.yml Rename AspNet 5 file contents. 2016-01-22 12:18:33 -08:00
CONTRIBUTING.md
LICENSE.txt
Mvc.NoFun.sln Rename AspNet 5 file contents. 2016-01-22 12:18:33 -08:00
Mvc.sln Rename AspNet 5 file contents. 2016-01-22 12:18:33 -08:00
NuGet.config
NuGetPackageVerifier.json Rename AspNet 5 file contents. 2016-01-22 12:18:33 -08:00
README.md
Settings.StyleCop
appveyor.yml
build.cmd
build.sh
global.json
makefile.shade

README.md

ASP.NET MVC

AppVeyor: AppVeyor

Travis: Travis

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:

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.