Есть ли способ заставить Unity уничтожить объекты, вложенные в объекты, как часть Teardown?Unity, чтобы избавиться от объекта
Фоном является то, что я работаю над приложением, использующим ASP.NET MVC 2, Unity и WCF. Мы создали нашу собственную фабрику контроллеров MVC, которая использует единицу для создания экземпляра контроллера, а прокси WCF вводятся с использованием атрибута [Dependency] для общедоступных свойств контроллера. В конце жизненного цикла страницы вызывается метод ReleaseController фабрики контроллера, и мы вызываем IUnityContainer.Teardown (theMvcController). В этот момент контроллер настроен так, как ожидалось, но мне также нужно распоряжаться введенными wcf-прокси. (На самом деле мне нужно вызвать Close и/или Abort на них, а не Dispose, но это более поздняя проблема.)
Я мог бы, конечно, переопределить методы Dispose и очистить там прокси, но я не хотите, чтобы контроллеры знали о жизненных циклах инъецируемых интерфейсов или даже о том, что они ссылаются на прокси WCF.
Если мне нужно написать код для этого - какая бы лучшая точка расширения? Я был бы признателен за любой указатель.