OWIN app.use против app.run против app.map

В чем разница между app.use, app.run, app.map в Owin? Когда что использовать? Это не просто при чтении документации.


person Bad    schedule 22.02.2016    source источник


Ответы (2)


app.use вставляет промежуточное ПО в конвейер, который требует, чтобы вы вызывали следующее промежуточное ПО, вызывая next.Invoke().

app.run вставляет промежуточное ПО без следующего, поэтому оно просто запускается.

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

См. документы для use и run и map для получения дополнительной информации.

person MichaC    schedule 22.02.2016

При работе с запросом мы используем IApplicationBuilder. И у нас есть четыре метода для взаимодействия с запросом:

  • Использовать
  • Бежать
  • карта
  • КартаКогда

Они называются Делегаты запросов.

Использование:

Добавляет промежуточное ПО к конвейеру приложения, которое может либо передать запрос следующему делегату, либо завершить запрос (конвейер запросов короткого замыкания). Это наиболее часто используемый метод взаимодействия с промежуточным ПО.

Карта

Мы используем Map для соединения пути запроса с другим промежуточным ПО. Это промежуточное ПО может использовать любой из других упомянутых делегатов запроса.

Сопоставить когда

Ведет себя почти так же, как Map, за исключением того, что мы можем указать подробное условие с помощью объекта HttpContext. Мы могли бы проверить URL, заголовки, строки запроса, файлы cookie и т. д.).

Выполнить

Генерация ответа и короткое замыкание запроса

Также прочтите эту статью. за дополнительной информацией.

person KamalDeep    schedule 05.07.2021