Инъекция зависимостей и IDisposable
Я немного смущенDispose()
методы вIDisposable
реализации с использованием Autofac
Скажем, у меня есть определенная глубина для моих объектов:
Controller
зависит отIManager
;Manager
зависит отIRepository
;Repository
зависит отISession
;ISession
являетсяIDisposable
.Это приводит к следующему графу объектов:
new Controller(
new Manager(
new Repository(
new Session())));
Нужно ли заставить мой Manager и Repository также реализовывать IDisposable и вызывать Manager.Dispose () в Controller, Repository.Dispose () в Manager и т. Д., Или Autofac автоматически узнает, какие объекты в моем стеке вызовов должны быть правильно расположены? Объект контроллера уже IDisposable, поскольку он происходит от базового контроллера ASP.NET Web API