Similar presentations:
Создание Middleware
1. ASP.NET Core MVC
2. 2. Middleware
3. HTTP-Server
34. HTTP-Server
▪▪
▪
▪
▪
4
Получение запроса
Разбор запроса
Обработка запроса
Формирование ответа
Возвращение ответа
5. ASP.NET MVC Request
56. ASP.NET MVC Request
6Достоинства
Недостатки
▪ Универсальность
▪ Высокая скорость
разработки
▪ Готовая архитектура
▪ Выделенные точки
расширения
▪
▪
▪
▪
Недостаточная
гибкость
Высокий порог входа
Много «лишнего»
кода
Сильная связь с IIS
7.
“7
OWIN — это спецификация
определяющая интерфейс,
который устраняет сильную
связанность вебприложения с конкретной
реализацией сервера.
8. ASP.NET vs ASP.NET OWIN
89. ASP.NET Core request
910. ASP.NET MVC Request
1011.
“11
Middleware —обработчик,
который содержит
некоторую логику, по
обработке запроса и(или)
конструированию ответа,
является звеном в
спецификации OWIN
12. Middleware
▪ Есть доступ к запросу и ответу▪ Может выполнять логику «До» и «После» обработки
запроса
▪ Каждый Middleware решает, завершена обработка,
или необходимо вызвать следующий обработчик
12
13. Middleware
1314. Any questions?
1415. Create and register middlewares
1516. Application middleware's
▪▪
▪
▪
16
Приложение состоит из любого количества Middleware-ов
Порядок middleware-ов важен
Middleware регистрируем в Startup.cs в методе Configure
IApplicationBuilder – объект в который необходимо
регистрировать middleware, из которых будет состоять
ваше приложение. Есть множество способов регистрации
middleware-ов
17. Startup.Configure(…)
1718. Создание middleware
Функция MiddlewareКласс Middleware
▪
▪
▪
▪
▪
▪
18
Используется метод
.Use(…)
Применяется при
простой логике
Middleware
Не приветствуется в
сложных приложения
Трудно тестировать
Просто и быстро
реализовать
▪
▪
▪
Используется метод
.UseMidlleware<...>()
Подразумевает сложную
логику, с возможностью
конфигурации
Легко тестировать
Требует реализации
нескольких классов для
использования
19. Use and function
1920. Context, Request, Response
HttpContext - содержит в себе все данные в20
рамках одного запроса: запрос, ответ, сервисы, и
пр.
HttpRequest – объект который содержит в
себе все данные текущего запроса
HttpResponse – объект который содержит в
себе данные текущего ответа, и интерфейс для
их заполнения
21. UseMiddleware<…> and class
UseMiddleware<…> and class21
22. Example
2223. Standard middleware's
▪▪
▪
▪
▪
▪
▪
23
Static files
Authentification
Session
CORS
Caching
Routing
MVC
24. THANKS!
Any questions?[email protected]
24
25. Homework
▪ Написать и зарегистрироватьMiddleware в виде лямбда
функции который замеряет
время выполнения запроса на
сервере
▪ Сделать аналогично с помощью
класса
25