我们已经在我们的windsor容器上启用了“NoTrackingReleasePolicy”,今天我发现优秀TypedFactoryFacility
尊重我们的选择,并且在工厂调用void方法时不会处理通过工厂创建的组件。
我知道如果你正确地对待你的服务(解决,行动和释放),我们可以简单地删除NoTrackingReleasePolicy
,一切都会很好地运作。遗憾的是,这不是一个选项(我不能保证我们团队中的人比我自己的IOC框架体验少一些忘记释放一些瞬态组件)。
所以,我想要我的蛋糕,也可以吃它,或者换句话说:我可以改变TypedFactoryFacility
,以便它忽略内核发布策略并跟踪通过工厂创建的组件吗?
答案 0 :(得分:1)
不,你不能。
我强烈建议您重新审视如何构建应用程序,并使用NDepend等工具确保遵循规则。
检查以下帖子,讨论(简单)规则,了解何时需要明确释放组件: http://kozmic.pl/2010/08/27/must-i-release-everything-when-using-windsor/