有没有办法让Unity在Teardown的过程中处理掉通过属性注入的对象?
背景是我正在开发一个应用程序,使用了ASP.NET MVC 2、Unity和WCF。我们编写了自己的MVC控制器工厂,使用Unity实例化控制器,并通过控制器的公共属性使用[Dependency]特性注入WCF代理。在页面生命周期结束时,控制器工厂的ReleaseController方法被调用,然后我们调用IUnityContainer.Teardown(theMvcController)方法。此时,控制器会像预期一样被处置,但是我还需要处置被注入的WCF代理(实际上我需要调用它们的Close和/或Abort方法而不是Dispose,但这是一个后续问题)。
当然,我可以重写控制器的Dispose方法并在其中清理代理,但我不想让控制器知道注入接口的生命周期,甚至不知道它们引用了WCF代理。
如果我需要为此编写代码 - 最好的扩展点是什么?任何指针都将不胜感激。
背景是我正在开发一个应用程序,使用了ASP.NET MVC 2、Unity和WCF。我们编写了自己的MVC控制器工厂,使用Unity实例化控制器,并通过控制器的公共属性使用[Dependency]特性注入WCF代理。在页面生命周期结束时,控制器工厂的ReleaseController方法被调用,然后我们调用IUnityContainer.Teardown(theMvcController)方法。此时,控制器会像预期一样被处置,但是我还需要处置被注入的WCF代理(实际上我需要调用它们的Close和/或Abort方法而不是Dispose,但这是一个后续问题)。
当然,我可以重写控制器的Dispose方法并在其中清理代理,但我不想让控制器知道注入接口的生命周期,甚至不知道它们引用了WCF代理。
如果我需要为此编写代码 - 最好的扩展点是什么?任何指针都将不胜感激。