当我创建一个对象并将其添加到容器后,我完成了它,我如何确保它正确处理?MEF和对象处置
阅读http://msdn.microsoft.com/en-us/library/ee155691(v=vs.110).aspx说
对于长期组合容器,由零件 与非共享的创建策略内存消耗可以成为一个问题。这些非共享部分可以创建多次,并且不会被 处理,直到容器本身被处置。为了解决这个问题, 容器提供了ReleaseExport方法。在非共享导出上调用此方法 会将该导出从组合 容器中移除并处理它。仅在删除的 导出中使用的零件(等等)也会被删除并处理。通过这种方式,在 的情况下,资源可以被回收而不需要处置容器本身的组成 。
因此,举例来说,如果我使用类似Caliburn.micro
与MEF和我创建一个新的ViewModel
,当ViewModel
被关闭,如果我加入容器上的ReleaseExport
调用这是否清理参考,所以它不再占用记忆? (这是正确办法做到这一点?)
也并呼吁ReleaseExport
在未来创造型的另一个目的是阻止我,还是该目录仍然包含项目,我可以重新创建它时,我希望?