Стали доступны новые версии библиотек ASP.NET MVC, Web Pages и Web API.
Основная цель данного выпуска – устранение ошибок. Всего их было исправлено 13. Вот ключевые:
Исправления в ASP.NET MVC
- 2155 – атрибут Remote не работает со значениями типа boolean для Html.CheckBoxFor;
- 2081 – улучшение производительности OutputCacheAttribute для дочерних Действий;
- 2136 – при задании маршрутов с помощью атрибутов не устанавливается корректное значение ControllerContext.IsChild;
- 2172, 2048 – исправления ошибок ненавязчивой проверки данных (unobtrusive validation).
Исправления в ASP.NET Web API
- 2092 – оптимизация производительности System.Net.HttpFormatting.ReadAsAsync за счет кэширования JSON formatter;
- 2103 – ошибка декодирования в сценариях с WebHost;
- 2101 – обработка MIME-multipart запроса с необычным MIME типом.
Исправления в ASP.NET Web Pages
- 2085 – улучшение производительности отображения Представлений Razor;
- 2119 – улучшение производительности обработки атрибутов в Представлениях Razor.
Как установить/обновить?
Установка в новый проект осуществляется с помощью NuGet командой Install-Package:
Install-Package Microsoft.AspNet.Mvc -ProjectName [имя проекта]
Install-Package Microsoft.AspNet.WebApi -ProjectName [имя проекта]
Install-Package Microsoft.AspNet.WebPages -ProjectName [имя проекта]
В существующем проекте для обновления достаточно выполнить команду Update-Package.
Сравнительные тесты производительности
Команда разработчиков ASP.NET приводит сравнительные тесты, показывающие как изменилась производительность.
Первый сценарий: нагрузка сайта постоянным числом запросов.
|
5.2.2 |
5.2.3 |
Delta % |
Total request (count) |
2 911 |
2 869 |
|
Trace duration (seconds) |
30 |
30 |
|
Request/second |
97.03 |
95.63 |
|
GC CPU Samples (msec) |
12 139.00 |
6 682.00 |
45% |
Total allocations (MB) |
18 049.79 |
12 602.08 |
30% |
Total GC Pause (msec) |
1 103.20 |
663.00 |
40% |
Gen0 GC (count) |
76 |
107 |
-41% |
Gen1 GC (count) |
317 |
106 |
67% |
Gen2 GC (count) |
57 |
1 |
98% |
CPU / request (msec/req) |
4.17 |
2.33 |
44% |
% CPU Time spent on GC |
6.40% |
2.30% |
64% |
Второй сценарий: нагрузка сайта максимальным числом запросов.
|
5.2.2 |
5.2.3 |
Delta % |
Total request (count) |
5 246 |
8 895 |
|
Trace duration (seconds) |
30 |
30 |
|
Request/second |
174.87 |
296.50 |
70% |
GC CPU Samples (msec) |
39 615 |
34 704 |
12.40% |
Allocations/Request (MB/Request) |
6.382 |
4.739 |
34.66% |
Total GC Pause (msec) |
2 974.60 |
3 215.70 |
-8.11% |
Gen0 GC (count) |
76 |
99 |
-30.26% |
Gen1 GC (count) |
317 |
368 |
-16.09% |
Gen2 GC (count) |
57 |
45 |
21.05% |
CPU / request (msec/req) |
87.42 |
155.63 |
-78.03% |
% CPU time spent on GC |
8.60% |
7.80% |
9.30% |