Использование метода next() в методе Use () в .NET Core?
Что произойдет, если я не вызову метод next() или next.Invoke() в методе Use() в конвейере запросов, вызовет он следующий компонент промежуточного программного обеспечения или нет?
1 ответ
Из документов, акцент мой:
Объедините несколько делегатов запроса вместе с Use. Следующий параметр представляет следующего делегата в конвейере. Вы можете замкнуть конвейер, не вызывая следующий параметр.
А также:
Когда делегат не передает запрос следующему делегату, это называется коротким замыканием конвейера запросов. Короткое замыкание часто желательно, поскольку оно позволяет избежать ненужной работы. Например, промежуточное ПО для статических файлов может действовать как промежуточное ПО терминала, обрабатывая запрос статического файла и замыкая остальную часть конвейера.
Поэтому, если вы не вызовете следующий элемент, конвейер на этом остановится.