Нет, IMO контроллер должен выполнить фиксацию, поскольку именно он отвечает за обновление модели.
Хотя уровень обслуживания действительно может вызывать методы в домене / хранилище, он толькоотвечает на запросы от контроллера.
Только контроллер знает, когда он завершен , поэтому он должен вызвать Commit.Обычно это происходит в конце метода действия перед выполнением перенаправления.
В веб-сценарии обычно должна быть только одна единица работы на HTTP-запрос, тогда как может быть кратнымservices за HTTP-запрос.
Так что я и большинство других пользователей создаем новый UoW для каждого HTTP-запроса и передаем его в репозиторий, поэтому даже если у вас есть несколько репозиториев, они по-прежнему обернутыодним UoW (он же соединение с базой данных).
В идеале для этого следует использовать контейнер DI / IoC.