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 Strong name everything. 2015-11-03 21:16:49 -08:00
.gitattributes
.gitignore Add `launchSettings.json` to `.gitignore`. 2015-11-11 12:12:16 -08:00
.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 Revert DependencyContext changes untill dotnet-cli packages get sorted out 2016-01-08 15:59:53 -08:00
NuGetPackageVerifier.json Rename AspNet 5 file contents. 2016-01-22 12:18:33 -08:00
README.md Add link to ASP.NET MVC Boilerplate 2015-12-31 11:41:12 -08:00
Settings.StyleCop
appveyor.yml
build.cmd Fix local build break 2015-10-12 12:59:16 -07:00
build.sh React to aspnet/Universe#290 fix 2015-10-12 10:42:45 -07:00
global.json Undo global.json change 2015-12-28 11:03:17 -08:00
makefile.shade Running xml-docs-test before test target 2015-09-18 12:28:29 -07:00

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.