.NET 7 упрощает вашу работу по веб-разработке

Вышла вторая предварительная версия .NET 7.0, обеспечивающая важные улучшения для веб-разработчиков.

Дорожная карта дает вам хороший предварительный просмотр будущей версии. Некоторые функции еще обсуждаются, а другие уже реализованы.

По-прежнему интересно следить за прозрачной разработкой .NET на GitHub.

1. Блейзер

Blazor, представленный в .NET 6, теперь готов для настольных компьютеров.

Это включает в себя производительность, доступность и безопасность, а также возможность учитывать различные разрешения экрана. Другими словами, теперь добавлена ​​поддержка рабочего стола, чего раньше не было.

Blazor по-прежнему остается большой проблемой в дорожной карте до версии 7.

Список проблем для Blazor является самым обширным в дорожной карте. Помимо оптимизации производительности и поддержки многопоточности, Blazor, как правило, хорошо настроен. Спрос на него кажется настолько большим, что Microsoft продолжает прилагать к нему много усилий.

2. Минимальные улучшения API

Минимальный API получает целый ряд дополнительных улучшений.

Среди прочего, поддержка фильтров конечных точек уже реализована. Кроме того, улучшена поддержка привязки параметров запроса или заголовка. Кроме того, тела запросов теперь можно читать как поток, что оптимизирует загрузку файлов.

Также планируется улучшить синтаксис минимального API.

Должна быть возможность определять маршруты как группы. Это может содержать дополнительные группы. Это значительно упростит структурирование конечных точек:

Также должно быть упрощение в области аутентификации.

Настройка аутентификации вообще очень сложная тема. Конфигурация OAuth, в частности, требует определенных знаний. Таким образом, сложная конфигурация должна быть упрощена для начинающих.

Минимальный API, похоже, соответствует наиболее распространенным требованиям.

Это сделает его еще более интересным для разработчиков API.

3. МВК

MVC включает классическую систему Model-View-Controller и Razor Pages, а также Web API.

В привязку модели были добавлены функции Minimal API, которые также будут добавлены в MVC.

Привязка модели гарантирует, что параметры методов действия заполнены значениями. Раньше сложные типы связывались через тело запроса, а простые — через маршрут или строку запроса — именно в таком порядке.

Минимальный API также поддерживает привязку сложных типов через контейнер внедрения зависимостей. Если сложные типы зарегистрированы как служба в контейнере внедрения зависимостей, они передаются в метод действия. Это также будет возможно для контроллеров и Razor Pages в будущем.

Типы, которые нельзя напрямую преобразовать из строки в соответствующий тип, считаются сложными типами. Это позволяет внедрять сервисы в метод действия. Больше нет необходимости вводить данные исключительно в конструктор контроллера.

Папка модели TryParse также является новой. Это выполняется перед всеми другими связывателями модели и может быть удалено при необходимости. Цель состоит в том, чтобы иметь возможность связывать все типы, реализующие метод TryParse.

4. Ссылки

Многие небольшие инновации касаются генерации ссылок и маршрутизации. Генерация ссылок даже имеет свою дорожную карту, которая содержит проблемы для классической маршрутизации, а также для более новой маршрутизации конечных точек.

Безусловно, хорошая идея — сделать генерацию ссылок более безопасной для типов.

Вместо того, чтобы передавать имя контроллера и имя действия в виде строк, общий и типобезопасный вариант имеет абсолютный смысл. Эта функция еще не реализована, но предложения API многообещающие, как вы можете видеть ниже:

5. Ограничение скорости

Ограничение скорости — это метод ограничения запросов на сеанс.

Результаты: более высокая безопасность и стабильность приложения. DDOS-атаки сложнее осуществить. Клиент может быть ограничен определенным количеством запросов в минуту.

Microsoft, вероятно, внедрит ограничение скорости в Preview 3 для Kestrel, Yarp, а также в качестве промежуточного программного обеспечения.

Таким образом, можно настроить ограничение скорости на уровне HTTP-сервера или на уровне приложения. На уровне приложения вы решаете применить ограничение через промежуточное ПО для всех конечных точек или только для определенных конечных точек.

6. Среда выполнения ASP.NET Core 7.0

Значительное внимание уделяется производительности обеих версий, 6.0 и 7.0.

HTTP/3 обеспечивает некоторые преимущества в скорости на уровне протокола. Это видно по поддержке HTTP/3. В asp.net Core 7.0 эта функция теперь будет доработана.

Наконец-то поддерживаются оптимизации для фактического кэширования вывода при различной производительности.

Раньше заголовки кэша устанавливались для управления клиентским кэшированием и кэшированием на уровне пользовательского интерфейса или конкретным кэшированием данных. Кэш вывода теперь хранит полностью сгенерированный вывод на уровне промежуточного программного обеспечения.

Ресурсы