Глава 1. Введение в ASP.NET Core
ASP.NET Core - новая эпоха в развитии ASP.NET
Начало работы с ASP.NET Core
Проект ASP.NET Core в Visual Studio for Mac
Глава 2. Основы ASP.NET Core
Запуск приложения. Класс Program
Класс Startup
Конвейер обработки запроса и middleware
Методы Use, Run и делегат RequestDelegate
Методы Map и MapWhen
Создание компонентов middleware
Конвейер обработки запроса
IWebHostEnvironment и окружение
Статические файлы
Работа со статическими файлами
Обработка ошибок
Работа с HTTPS
Глава 3. Сервисы и Dependency Injection
Сервисы и метод ConfigureServices
Создание своих сервисов
Передача зависимостей
Жизненный цикл объектов при внедрении зависимостей
Применение сервисов в middleware
Singleton-объекты и scoped-сервисы
Глава 4. Конфигурация
Основы конфигурации
Нефайловые провайдеры конфигурации
Файловые провайдеры конфигурации
Объединение конфигураций и установка сервиса IConfiguration
Работа с конфигурацией
Создание провайдера конфгурации
Проекция конфигурации на классы
Передача конфигурации через IOptions
Глава 5. Состояние приложения. Куки. Сессии
HttpContext.Items
Куки
Сессии
Глава 6. Логгирование
Ведение лога и ILogger
Фабрика логгера и провайдеры логгирования
Конфигурация и фильтрация логгирования
Создание провайдера логгирования
Глава 7. Маршрутизация
Основы маршрутизации в ASP.NET Core
RouterMiddleware
Определение маршрутов
Работа с маршрутами
Ограничения маршрутов
Создание ограничений маршрутов
Создание своего маршрута
Глава 8. ASP.NET Core MVC. Первое приложение
Введение в ASP.NET Core MVC
Добавление MVC в пустой проект
Первое приложение. Добавление моделей и базы данных
Создание контроллера и инициализатора базы данных
Добавление методов контроллера и представлений
Добавление мастер-страницы и стилизации
Глава 9. Контроллеры
Контроллеры и их действия
Передача данных в контроллер
Результаты действий
ContentResult и JsonResult
Переадресация
Отправка статусных кодов
Отправка файлов
Переопределение контроллеров
Контекст контроллера
Передача зависимостей в контроллер
Глава 10. Представления
Введение в представления
Движок представлений Razor
Передача данных в представление
Мастер-страницы
Файл _ViewImports.cshtml
Частичные представления
Внедрение зависимостей в представления
Работа с формами
Создание движка представлений
Глава 11. Маршрутизация в ASP.NET Core MVC
Маршрутизация в MVC с помощью конечных точек
Маршрутизация с помощью RouterMiddleware. Метод UseMvc
Атрибуты маршрутизации
Области
Глава 12. Модели
Модели в ASP.NET Core MVC
Модели представления View Model
Привязка модели
Передача данных в контроллер
Управление привязкой
Создание привязчика модели
Глава 13. HTML-хелперы
Создание HTML-хелперов
HTML-хелперы элементов форм
Строго типизированные хелперы
Шаблонные хелперы
Генерация ссылок
URL-хелперы
Глава 14. Tag-хелперы
Введение в tag-хелперы
AnchorTagHelper
LinkTagHelper и ScriptTagHelper
Tag-хелперы форм
EnvironmentTagHelper
CacheTagHelper
Создание tag-хелперов
Управление выводом tag-хелпера
Контекст хелпера и получение зависимостей
Атрибут HtmlTargetElement
Tag-хелперы и сложные объекты и коллекции
Глава 15. View Component
Определение компонента представлений
Передача данных во View Component
Генерация контента в View Component
ViewViewComponentResult и представления
Асинхронные операции в View Component
ViewComponentContext
Глава 16. Метаданные и валидация модели
Основы валидации
Атрибуты валидации
Валидация на стороне сервера
Валидация на стороне клиента
Tag-хелперы валидации
Создание атрибута валидации. Самовалидация модели
Аннотации данных
Глава 17. Работа с данными в Entity Framework в MVC
Подключение и создание базы данных в Entity Framework Core
Операции с моделями. Создание и вывод
Операции с моделями. Редактирование и удаление
Сортировка
Создание tag-хелпера сортировки
Фильтрация
Постраничная навигация
Tag-хелпер для постраничной навигации
Объединение сортировки, фильтрации и пагинации
Tag-хелпер пагинации с сортировкой и фильтрацией
Глава 18. Razor Pages
Введение в Razor Pages
Добавление RazorPages в пустой проект
Обработка запросов. Передача форм
Привязка свойств RazorPage к параметрам запроса
Параметры маршрутов в Razor Pages
Обработчики страницы
Возвращение результата
Переадресация и создание ссылок
Подключение к базе данных
Создание и вывод из базы данных
Изменение и удаление в базе данных
Глава 19. Web API
Введение в Web API
Создание контроллера
Тестирование контроллера
Создание клиента для WEB API
Валидация в Web API
Content negotiation
Глава 20. Фильтры
Введение в фильтры
Передача параметров в фильтры и установка зависимостей
Фильтры ресурсов
Фильтры действий
Фильтры результатов
Фильтры исключений
Фильтры RazorPages
Глава 21. Аутентификация и авторизация
Аутентификация с помощью куки. Часть 1
Аутентификация с помощью куки. Часть 2
Авторизация
ClaimPrincipal и объекты Claim
Авторизация по ролям
Авторизация на основе Claims
Пример авторизации на основе Claims
Создание ограничений для политики авторизации
JWT-токены
Глава 22. ASP.NET Core Identity
Введение в ASP.NET Core Identity
Основные классы в ASP.NET Core Identity
Добавление Identity в проект с нуля
Регистрация и создание пользователей в Identity
Авторизация пользователей в Identity
Управление пользователями
Изменение пароля
Валидация пароля
Валидация пользователя
Управление ролями
Инициализация БД ролями и пользователями
=
Глава 23. Клиентская разработка
Бандлинг и минификация
Менеджер Libman
Пакетный менеджер NPM
Gulp
Grunt
Препроцессоры Less и Sass
Глава 24. Производительность и кэширование
Кэширование с помощью MemoryCache
Атрибут ResponseCache
Сжатие ответа
Кэширование статических файлов
Глава 25. Сервер и публикация приложения
Сервер
Публикация на IIS
Установка приложения в виде службы Windows
Глава 26. Тестирование
Введение в юнит-тесты
Создание проекта юнит-тестов. Добавление xUnit
Создание юнит-тестов
Фреймворк Moq и moq-объекты
Тестирование контроллера
Глава 27. URL Rewriting
Введение в URL Rewriting
Правила IIS для URL Rewriting
Применение правил для Apache
Создание правил URL Rewriting
Глава 28. Глобализация и локализация
Определение культуры
RequestLocalizationMiddleware
Локализация строк. IStringLocalizer
Ресурсы и локализация в контроллерах
Локализация представлений
Локализация аннотаций данных
Переключение языка приложения
Общие ресурсы локализации
Хранение ресурсов в базе данных
Глава 29. SignalR Core
SignalR Core. Первое приложение
Создание и конфигурация хабов
Клиент javascript
Контекст хаба, подключение и отключение клиентов
Взаимодействие с клиентами
IHubContext
Отправка сложных объектов
Аутентификация и авторизация на основе куки
Аутентификация и авторизация с помощью токенов
Пользователи
Группы
Клиент на Xamarin Forms
Глава 30. CORS и кросс-доменные запросы
Начало работы с CORS
Конфигурация CORS
Политики CORS
Глобальная и локальная настройка CORS
CORS в MVC
Глава 31. Dapper
Работа с Dapper в ASP.NET Core
Глава 32. React.JS
Подключение React в ASP.NET Core
Взаимодействие React.JS и ASP.NET Core
Глава 33. Дополнительные статьи
Отправка email в ASP.NET Core
Загрузка файлов на сервер