【发布时间】:2012-06-22 11:09:08
【问题描述】:
我参考了之前的帖子 Tridion 2009 Template Publishing Failure,在该帖子中我解释说我们的系统在大规模发布期间显然是随机崩溃的。
我们正在使用 XSLTMediator,我们所有的模板都基于 TemplateBase 解决方案
我被告知该错误可能与垃圾收集/COM+ 相关 - 我认为这有点牵强,TemplateBase 解决方案明确实现了IDisposable,它应该处理所有 GC/COM+ 肮脏问题? (不像 VBScript 时代的 Set obj = Nothing to Avoid memory leaks)!
谢谢。
【问题讨论】:
-
您能否提供事件查看器日志中的错误消息?另外,您的问题是“Tridion 发布如何进行垃圾收集或如何处理每个模板?”
-
声明 IDisposable 不会自动修复任何问题。您的模板/中介代码必须正确实现 Dispose 并关闭它可能持有的任何资源。您可以考虑调用 .Close() 现代等效于将对象设置为 Nothing。但所有这些都只是陈述,你的问题是什么?
-
中介代码实际上是 XsltMediator(它本身并不直接实现
IDisposable)。在任何情况下都不需要担心非托管资源,所以 GC 应该正确地完成它的工作吗? TemplateBase 确实实现了它,这应该足够了吗?我不确定我的问题是什么,因为我不相信这个问题是由于没有实现IDisposable -
我当然很想知道实现 GC 的最佳实践是什么,以及 Tridion 本身如何处理模板(如果有人足以描述它的话)!
标签: tridion tridion2009