Castle Windsor - 为什么我不想使用'NoTrackingReleasePolicy'作为默认值?

san*_*oIT 10 castle-windsor

我来自StructureMap世界,在那里永远不需要释放已解析的瞬态对象.

我看到Windsor通过defauly跟踪任何已解决的瞬态对象,因此防止它们被释放之前被垃圾收集(如果它们被释放).

我在文档中找到了NoTrackingReleasePolicy,但不建议使用它.

必须释放任何瞬态对象似乎回到过去.

我将在我的应用程序中使用NoTrackingReleasePolicy.

这样做会让我遇到什么麻烦?或者换句话说,为什么我要手动释放对象而不是让垃圾收集器为我处理?

Krz*_*mic 4

只是为了这个问题不会得不到答案:

此事在评论中@mauricio scheffer链接的博文中进行了解释。

基本上使用 NoTrackingReleasePolicy 会导致很多微妙的问题,如果您使用默认的发布策略正确构建应用程序,则无论如何都不必担心在代码中显式调用发布。