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 {