I have a DataViewWebPart with a complicated and rather expensive linked XSLT (the XSLT itself is stored in the Documents library of the site).

Currently, the part takes a long time to render, even though I have the cache web part settings configured properly (I think):

    <property name="CacheXslTimeOut" type="int">86400</property>
    <property name="CacheXslStorage" type="bool">True</property>

Is there anything else that I need to set to enable XSLT caching?

Is there anything that I might be doing inadvertently that would cause the DVWP to re-run the XSLT?

2 Answers 2


A solution may be to not use the DVWP cache; instead you could enable the output cache on your page.


I would also suggest placing your XSL file to a file system, to use output cache for your end users. That way only 1st request takes some time to load XSL, all the following requests will use local copy.

  • I'm not really sure what this means - can you give me a quick run-down on how you think I would implement this?
    – Dexter
    Aug 2, 2011 at 10:55
  • you can put your XSL file to the 14\Template\Layouts folder on a server (SP feature is preferrable if you want to control it by activation or you have more than one WFE). URL of the XSL will be site/_layouts/file.xsl . Ofc you can use subfolder there to have it better organized Aug 3, 2011 at 15:35
  • won't the XSLT be picked up by the output cache if it's published in a document library?
    – Dexter
    Aug 3, 2011 at 15:58
  • unfortunately no afaik Aug 5, 2011 at 11:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.