diff --git a/src/Umbraco.Web/Install/FilePermissionHelper.cs b/src/Umbraco.Web/Install/FilePermissionHelper.cs
index 013f40fc0e..b5bc908fde 100644
--- a/src/Umbraco.Web/Install/FilePermissionHelper.cs
+++ b/src/Umbraco.Web/Install/FilePermissionHelper.cs
@@ -98,7 +98,7 @@ namespace Umbraco.Web.Install
// that and we might get lock issues.
try
{
- var xmlFile = content.Instance.UmbracoXmlDiskCacheFileName + ".tmp";
+ var xmlFile = content.GetUmbracoXmlDiskFileName() + ".tmp";
SaveAndDeleteFile(xmlFile);
return true;
}
diff --git a/src/Umbraco.Web/umbraco.presentation/content.cs b/src/Umbraco.Web/umbraco.presentation/content.cs
index ff08f36207..fd542f0fe8 100644
--- a/src/Umbraco.Web/umbraco.presentation/content.cs
+++ b/src/Umbraco.Web/umbraco.presentation/content.cs
@@ -127,23 +127,26 @@ namespace umbraco
private static readonly object DbReadSyncLock = new object();
private const string XmlContextContentItemKey = "UmbracoXmlContextContent";
- private string _umbracoXmlDiskCacheFileName = string.Empty;
+ private static string _umbracoXmlDiskCacheFileName = string.Empty;
private volatile XmlDocument _xmlContent;
///
/// Gets the path of the umbraco XML disk cache file.
///
/// The name of the umbraco XML disk cache file.
+ public static string GetUmbracoXmlDiskFileName()
+ {
+ if (string.IsNullOrEmpty(_umbracoXmlDiskCacheFileName))
+ {
+ _umbracoXmlDiskCacheFileName = IOHelper.MapPath(SystemFiles.ContentCacheXml);
+ }
+ return _umbracoXmlDiskCacheFileName;
+ }
+
+ [Obsolete("Use the safer static GetUmbracoXmlDiskFileName() method instead to retrieve this value")]
public string UmbracoXmlDiskCacheFileName
{
- get
- {
- if (string.IsNullOrEmpty(_umbracoXmlDiskCacheFileName))
- {
- _umbracoXmlDiskCacheFileName = IOHelper.MapPath(SystemFiles.ContentCacheXml);
- }
- return _umbracoXmlDiskCacheFileName;
- }
+ get { return GetUmbracoXmlDiskFileName(); }
set { _umbracoXmlDiskCacheFileName = value; }
}
@@ -669,9 +672,9 @@ order by umbracoNode.level, umbracoNode.sortOrder";
{
//TODO: Should there be a try/catch here in case the file is being written to while this is trying to be executed?
- if (File.Exists(UmbracoXmlDiskCacheFileName))
+ if (File.Exists(GetUmbracoXmlDiskFileName()))
{
- return new FileInfo(UmbracoXmlDiskCacheFileName).LastWriteTimeUtc;
+ return new FileInfo(GetUmbracoXmlDiskFileName()).LastWriteTimeUtc;
}
return DateTime.MinValue;