我想在C#中为XSL实现缓存。我实施了以下代码XSLT缓存问题
Xsl2Processor xsl = new Xsl2Processor();
if (HttpContext.Current.Cache.Get("xsl_" + xslPath) == null)
{
xsl.Load(xslPath);
HttpContext.Current.Cache.Insert("xsl_" + xslPath, xsl, new System.Web.Caching.CacheDependency(xslPath));
}
else
{
xsl = (Xsl2Processor)HttpContext.Current.Cache.Get("xsl_" + xslPath);
}
return xsl;
它对单个用户ID工作正常。当我尝试两个用户ID同时(负载测试)。用户获得切换的数据。为什么发生这种情况,解决方案是什么?
你确定这是导致问题的代码吗?例如,显示的代码示例不包含任何“UserID”。此外,如果数据正在切换,那么更可能是XML的问题,而不是XSLT。谢谢。 –
没有Cache的代码工作正常,带Cache导致问题。当为不同的User同时运行时,Value在Output Xml之间切换。 – user2642517
什么是'Xsl2Processor'?那是你自己的班级吗? –