统一处置对象

Joh*_*vin 7 idisposable ioc-container unity-container wcf-proxy

有没有办法让Unity将属性注入的对象作为拆解的一部分进行处理?

背景是我正在使用ASP.NET MVC 2,Unity和WCF的应用程序.我们编写了自己的MVC控制器工厂,它使用unity实例化控制器,并使用控制器公共属性的[Dependency]属性注入WCF代理.在页面生命周期结束时,调用控制器工厂的ReleaseController方法,并调用IUnityContainer.Teardown(theMvcController).此时控制器按预期处理,但我还需要处理注入的wcf代理.(实际上我需要对它们调用Close和/或Abort而不是Dispose但这是后来的问题.)

我当然可以覆盖控制器的Dispose方法并清理那里的代理,但我不希望控制器必须知道注入接口的生命周期,甚至是它们引用WCF代理.

如果我需要自己编写代码 - 什么是最好的扩展点?我很欣赏任何指针.

小智 2

我创建了一个统一扩展,它将负责处理 TearDown 上容器创建的实例。

请参阅http://www.neovolve.com/2010/06/18/unity-extension-for-disusing-build-trees-on-teardown/