К сожалению моих навыков оказалось недостаточно для понимания.непонятно одно - компонент должен вызываться, когда выбрасывается исключение, а они же вызываются по очереди
Обработка запроса в ASP.NET Core устроена по принципу конвейера. Сначала данные запроса получает первый компонент в конвейере. После обработки он передает данные HTTP-запроса второму компоненту и так далее.