【问题标题】:is it possible to put a cache the instance of XslCompiledTransform after Loading?加载后是否可以缓存 XslCompiledTransform 的实例?
【发布时间】:2011-08-30 14:16:16
【问题描述】:

调用load方法后需要保存XslCompiledTransform实例的结果,怎么办?

【问题讨论】:

  • 如何缓存整数?
  • 好问题,+1。请参阅我的答案,了解适用于 ASP.NET 和非 ASP.NET 应用程序的标准且高效的解决方案。

标签: c# asp.net xslt xslcompiledtransform


【解决方案1】:

只需使用System.Web.Caching(在 ASP.NET 之外也可以正常工作!):

http://www.hanselman.com/blog/UsingTheASPNETCacheOutsideOfASPNET.aspx

【讨论】:

  • 你知道 XslCompiledTransform 对于我的 webgarden 是否可以二进制序列化?
  • @Christophe XslCompiledTransform 没有实现 ISerializable 所以它不能被(二进制)序列化。
【解决方案2】:

保存到应用程序范围变量:

XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("style.xsl");
Application["CompiledTransform"] = xslt;

稍后在其他地方使用:

XslCompiledTransform xs = Application["CompiledTransform"] as XslCompiledTransform;
xs.Transform("input.xml", "output.xml");

【讨论】:

    猜你喜欢
    • 2010-09-25
    • 1970-01-01
    • 2017-07-22
    • 1970-01-01
    • 2013-08-30
    • 2011-10-25
    • 2019-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多