Доступна ASP.NET 5 beta 6

ASP.NET logo Как и было обещано, 27 июля числа вышла 6 бета версия ASP.NET 5. Что появилось в ней нового и есть ли критические изменения? В этом сейчас и разберемся.

Как скачать?

Для подключения новых версий библиотек достаточно поменять номер версии в project.json. Однако, в beta 6 так же входят обновления инструментов, которые можно загрузить со страницы на сайте Microsoft.

Есть ли критические изменения?

По заявлениям разработчиков ASP.NET критических изменений по сравнению с 5-ой бета версией нет.

Что нового?

Распределенный кэш

Новый пакет Microsoft.Framework.Caching.SqlServer позволит использовать SQL Server в качестве кэша для ASP.NET приложений. Этот вариант пригодиться в сценариях с использованием веб-ферм. Для его установки и настройки необходимо:

  1. Выполнить команду для загрузки библиотеки на рабочую станцию:

dnu commands install Microsoft.Framework.Caching.SqlConfig

 Файлы будут расположены в папке *%userprofile%\.dnx\bin*.
2. Настроить параметры сервера, используя следующую команду:
    ```ps
sqlservercache create <строка соединения с БД> <имя схемы> <имя таблицы>
  1. Добавить ссылку на Microsoft.Framework.Caching.SqlServer в проект.
  2. Зарегистрировать кэш в контейнере DI в методе ConfigureServices():

services.AddSqlServerCache(c => { c.ConnectionString = “Server=localhost;Database=MyDb;Trusted_Connection=True;”; c.SchemaName = “dbo”; c.TableName = “AppCache”; });

5. Теперь можно использовать кэш, инжектируя интерфейс *IDistributedCache* в свои объекты.

### Поддержка сборок со строгими именами

Теперь можно создавать [сборки со строгими именами.](https://msdn.microsoft.com/ru-ru/library/wd40t7ad%28v=vs.110%29.aspx) Для этого в файле *project.json* в корень настроек необходимо добавить следующие параметры :

```plain
"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.