ASP.NET Core MVC
2. Middleware
HTTP-Server
HTTP-Server
ASP.NET MVC Request
ASP.NET MVC Request
ASP.NET vs ASP.NET OWIN
ASP.NET Core request
ASP.NET MVC Request
Middleware
Middleware
Any questions?
Create and register middlewares
Application middleware's
Startup.Configure(…)
Создание middleware
Use and function
Context, Request, Response
UseMiddleware<…> and class
Example
Standard middleware's
THANKS!
Homework

Создание Middleware

1. ASP.NET Core MVC

2. 2. Middleware

3. HTTP-Server

3

4. HTTP-Server






4
Получение запроса
Разбор запроса
Обработка запроса
Формирование ответа
Возвращение ответа

5. ASP.NET MVC Request

5

6. ASP.NET MVC Request

6
Достоинства
Недостатки
▪ Универсальность
▪ Высокая скорость
разработки
▪ Готовая архитектура
▪ Выделенные точки
расширения




Недостаточная
гибкость
Высокий порог входа
Много «лишнего»
кода
Сильная связь с IIS

7.


7
OWIN — это спецификация
определяющая интерфейс,
который устраняет сильную
связанность вебприложения с конкретной
реализацией сервера.

8. ASP.NET vs ASP.NET OWIN

8

9. ASP.NET Core request

9

10. ASP.NET MVC Request

10

11.


11
Middleware —обработчик,
который содержит
некоторую логику, по
обработке запроса и(или)
конструированию ответа,
является звеном в
спецификации OWIN

12. Middleware

▪ Есть доступ к запросу и ответу
▪ Может выполнять логику «До» и «После» обработки
запроса
▪ Каждый Middleware решает, завершена обработка,
или необходимо вызвать следующий обработчик
12

13. Middleware

13

14. Any questions?

14

15. Create and register middlewares

15

16. Application middleware's





16
Приложение состоит из любого количества Middleware-ов
Порядок middleware-ов важен
Middleware регистрируем в Startup.cs в методе Configure
IApplicationBuilder – объект в который необходимо
регистрировать middleware, из которых будет состоять
ваше приложение. Есть множество способов регистрации
middleware-ов

17. Startup.Configure(…)

17

18. Создание middleware

Функция Middleware
Класс Middleware






18
Используется метод
.Use(…)
Применяется при
простой логике
Middleware
Не приветствуется в
сложных приложения
Трудно тестировать
Просто и быстро
реализовать



Используется метод
.UseMidlleware<...>()
Подразумевает сложную
логику, с возможностью
конфигурации
Легко тестировать
Требует реализации
нескольких классов для
использования

19. Use and function

19

20. Context, Request, Response

HttpContext - содержит в себе все данные в
20
рамках одного запроса: запрос, ответ, сервисы, и
пр.
HttpRequest – объект который содержит в
себе все данные текущего запроса
HttpResponse – объект который содержит в
себе данные текущего ответа, и интерфейс для
их заполнения

21. UseMiddleware<…> and class

UseMiddleware<…> and class
21

22. Example

22

23. Standard middleware's








23
Static files
Authentification
Session
CORS
Caching
Routing
MVC

24. THANKS!

Any questions?
[email protected]
24

25. Homework

▪ Написать и зарегистрировать
Middleware в виде лямбда
функции который замеряет
время выполнения запроса на
сервере
▪ Сделать аналогично с помощью
класса
25
English     Русский Правила