2009-09-18 44 views
7

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

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

我当然可以重写控制器的Dispose方法并清理代理,但是我没有希望控制器必须知道注入接口的生命周期,或者甚至他们引用WCF代理。

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

回答

0

可能的解决方法是,你还可以写在你的代理,将在处置(处置情况下,当通过统一调用)的包装调用代理的关闭方法。这对你来说是一个可行的场景吗?