我正在开发一个涉及XSLT的项目。并希望在我的XSLT中使用C#脚本。 就像在以下链接中一样。 XSLT 1.0 Get Current DateTime
虽然我遇到了这篇知识库文章http://support.microsoft.com/kb/316775,但在多次加载样式表时会导致内存泄漏。
知识库文章没有说明哪些.NET版本受到影响。任何人都可以建议这是在.NET 2.0或更高版本中修复吗?
我的目标环境有.NET 2.0和3.5,尽管执行XSLT转换的代码已编译为.NET 2.0。
注意:我无法控制运行转换的代码。我只能写XSLT
答案 0 :(得分:2)
这不是一个错误 - 首先。
更重要的是,这绝对是可以避免的。
解决方案:不要内联脚本,而是使用包含所需扩展功能的扩展程序对象。
有关如何将扩展函数作为扩展对象的一部分编写的更多信息 - 对于XslCompiledTransform,可以在此处找到:
http://msdn.microsoft.com/en-us/library/tf741884
以及完整的代码示例:
http://msdn.microsoft.com/en-us/library/system.xml.xsl.xsltargumentlist.addextensionobject