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