В чем разница между app.use
, app.run
, app.map
в Owin? Когда что использовать? Это не просто при чтении документации.
OWIN app.use против app.run против app.map
Ответы (2)
app.use
вставляет промежуточное ПО в конвейер, который требует, чтобы вы вызывали следующее промежуточное ПО, вызывая next.Invoke().
app.run
вставляет промежуточное ПО без следующего, поэтому оно просто запускается.
С помощью app.map
вы можете сопоставлять пути, которые оцениваются во время выполнения для каждого запроса, для запуска определенного промежуточного программного обеспечения, только если путь запроса соответствует шаблону, который вы сопоставили.
См. документы для use
и run
и map
для получения дополнительной информации.
При работе с запросом мы используем IApplicationBuilder. И у нас есть четыре метода для взаимодействия с запросом:
- Использовать
- Бежать
- карта
- КартаКогда
Они называются Делегаты запросов.
Использование:
Добавляет промежуточное ПО к конвейеру приложения, которое может либо передать запрос следующему делегату, либо завершить запрос (конвейер запросов короткого замыкания). Это наиболее часто используемый метод взаимодействия с промежуточным ПО.
Карта
Мы используем Map для соединения пути запроса с другим промежуточным ПО. Это промежуточное ПО может использовать любой из других упомянутых делегатов запроса.
Сопоставить когда
Ведет себя почти так же, как Map, за исключением того, что мы можем указать подробное условие с помощью объекта HttpContext. Мы могли бы проверить URL, заголовки, строки запроса, файлы cookie и т. д.).
Выполнить
Генерация ответа и короткое замыкание запроса
Также прочтите эту статью. за дополнительной информацией.