Files
Umbraco-CMS/src/Umbraco.Web/HttpContextUmbracoContextAccessor.cs

32 lines
995 B
C#
Raw Normal View History

2016-06-09 11:57:13 +02:00
using System;
using Umbraco.Cms.Core.Cache;
using Umbraco.Cms.Core.Web;
2016-06-09 11:57:13 +02:00
namespace Umbraco.Web
{
internal class HttpContextUmbracoContextAccessor : IUmbracoContextAccessor
{
private readonly IRequestCache _requestCache;
2016-06-09 11:57:13 +02:00
private const string HttpContextItemKey = "Umbraco.Web.UmbracoContext";
public HttpContextUmbracoContextAccessor(IRequestCache requestCache)
2016-06-09 11:57:13 +02:00
{
_requestCache = requestCache;
2016-06-09 11:57:13 +02:00
}
2020-02-09 18:53:37 +01:00
public IUmbracoContext UmbracoContext
2016-06-09 11:57:13 +02:00
{
get
{
if (!_requestCache.IsAvailable) throw new InvalidOperationException("No request cache available");
return (IUmbracoContext) _requestCache.Get(HttpContextItemKey);
2016-06-09 11:57:13 +02:00
}
set
{
if (!_requestCache.IsAvailable) throw new InvalidOperationException("No request cache available");
_requestCache.Set(HttpContextItemKey, value);
2016-06-09 11:57:13 +02:00
}
}
}
}