Если это работает для вас, тогда все в порядке:)
Из-за природы веб-приложений, не имеющих состояния, выполнение этого не должно вызывать каких-либо функциональных проблем, поскольку у вас просто будет контейнер для запроса, а несколько экземпляров просто будут жить независимо друг от друга.
Однако, с точки зрения масштабируемости, этот может не самый эффективный подход (но помните, что вы должны измерять производительность, а не гадать), так как приложение будет подключаться и разрушать много ресурсы, которые также могут быть использованы совместно.
Большинство DI-контейнеров имеют возможность управлять временем жизни объекта, и большинство из них даже поддерживают веб-интерфейс, что означает, что вы должны быть в состоянии сказать ему, что определенные компоненты имеют время жизни "на запрос" и что они должны распоряжаться после каждого запроса.
Это позволит вам поддерживать другие компоненты в качестве синглетонов (шаблон времени жизни, а не шаблон создания), чтобы их можно было использовать для нескольких запросов. Это часто может быть хорошей идеей для компонентов доступа к данным, которые, как правило, являются поточно-ориентированными, так как не содержат изменяемого состояния.