From 5dc9bb752ef4c5a9fbbbc3a50ffcbfce19109f57 Mon Sep 17 00:00:00 2001 From: Stephan Date: Tue, 11 Jun 2013 10:01:58 +0200 Subject: [PATCH] Macros - cache xslt settings --- src/Umbraco.Web/umbraco.presentation/macro.cs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/Umbraco.Web/umbraco.presentation/macro.cs b/src/Umbraco.Web/umbraco.presentation/macro.cs index b8f94ce7b6..9e4350de77 100644 --- a/src/Umbraco.Web/umbraco.presentation/macro.cs +++ b/src/Umbraco.Web/umbraco.presentation/macro.cs @@ -51,6 +51,7 @@ namespace umbraco /// Cache for . private static Dictionary _predefinedExtensions; + private static XsltSettings _xsltSettings; private const string LoadUserControlKey = "loadUserControl"; private readonly StringBuilder _content = new StringBuilder(); private const string MacrosAddedKey = "macrosAdded"; @@ -61,6 +62,13 @@ namespace umbraco get { return Application.SqlHelper; } } + static macro() + { + _xsltSettings = GlobalSettings.ApplicationTrustLevel > AspNetHostingPermissionLevel.Medium + ? XsltSettings.TrustedXslt + : XsltSettings.Default; + } + #endregion #region public properties @@ -822,14 +830,7 @@ namespace umbraco try { - if (GlobalSettings.ApplicationTrustLevel > AspNetHostingPermissionLevel.Medium) - { - macroXslt.Load(xslReader, XsltSettings.TrustedXslt, xslResolver); - } - else - { - macroXslt.Load(xslReader, XsltSettings.Default, xslResolver); - } + macroXslt.Load(xslReader, _xsltSettings, xslResolver); } finally {