Как и было обещано, 27 июля числа вышла 6 бета версия ASP.NET 5. Что появилось в ней нового и есть ли критические изменения? В этом сейчас и разберемся. |
Как скачать?
Для подключения новых версий библиотек достаточно поменять номер версии в project.json. Однако, в beta 6 так же входят обновления инструментов, которые можно загрузить со страницы на сайте Microsoft.
Есть ли критические изменения?
По заявлениям разработчиков ASP.NET критических изменений по сравнению с 5-ой бета версией нет.
Что нового?
Распределенный кэш
Новый пакет Microsoft.Framework.Caching.SqlServer позволит использовать SQL Server в качестве кэша для ASP.NET приложений. Этот вариант пригодиться в сценариях с использованием веб-ферм. Для его установки и настройки необходимо:
- Выполнить команду для загрузки библиотеки на рабочую станцию:
dnu commands install Microsoft.Framework.Caching.SqlConfig
Файлы будут расположены в папке %userprofile%\.dnx\bin. - Настроить параметры сервера, используя следующую команду:
sqlservercache create <строка соединения с БД> <имя схемы> <имя таблицы>
- Добавить ссылку на Microsoft.Framework.Caching.SqlServer в проект.
- Зарегистрировать кэш в контейнере DI в методе ConfigureServices():
services.AddSqlServerCache(c => {
c.ConnectionString = "Server=localhost;Database=MyDb;Trusted_Connection=True;";
c.SchemaName = "dbo";
c.TableName = "AppCache";
});
- Теперь можно использовать кэш, инжектируя интерфейс IDistributedCache в свои объекты.
Поддержка сборок со строгими именами
Теперь можно создавать сборки со строгими именами. Для этого в файле project.json в корень настроек необходимо добавить следующие параметры :
"compilationOptions": {
"strongName": true,
"delaySign": true,
"keyFile": "MySecretKeyFile.snk"
}
При необходимости, можно указать создание сборки со строгим именем только для определенной конфигурации, например Release:
"configurations": {
"release": {
"compilationOptions": {
"strongName": true,
"delaySign": true,
"keyFile": "MySecretKeyFile.snk"
}
}
}
Поддержка завершающего слэша в маршруте
Эта функциональность есть в предыдущей версии, но только сейчас перенесена в ASP.NET MVC 6. Чтобы подключить ее просто укажите в ConfigureServices():
services.AddInstance(new RouteOptions() {
AppendTrailingSlash = true,
});
Кэширование и буферизация ответов теперь доступы в WebListener
Раньше эта функциональность была доступна только для Windows и IIS. Теперь и для WebListener. Для ее активации никаких настроек не требуется. В ASP.NET 5 beta 6 она доступна и работает "из коробки".
Уменьшение числа подключаемых пакетов для WebAPI
Теперь для использования только WebAPI достаточно указать следующие зависимости:
"dependencies": {
"Microsoft.AspNet.Mvc.Core": "6.0.0-*",
"Microsoft.AspNet.Mvc.DataAnnotations": "6.0.0-*",
"Microsoft.AspNet.Mvc.Formatters.Json": "6.0.0-*",
"Microsoft.AspNet.Hosting": "1.0.0-*",
"Microsoft.AspNet.Server.WebListener": "1.0.0-*"
}
Разработчики у��рали необходимость подключения (прямого или косвенного) неиспользуемых в этом случае библиотек, таких как Razor или TagHelpers.