33 lines
1.0 KiB
C#
33 lines
1.0 KiB
C#
using System;
|
|
|
|
namespace Umbraco.Web
|
|
{
|
|
internal class HttpContextUmbracoContextAccessor : IUmbracoContextAccessor
|
|
{
|
|
private const string HttpContextItemKey = "Umbraco.Web.UmbracoContext";
|
|
private readonly IHttpContextAccessor _httpContextAccessor;
|
|
|
|
public HttpContextUmbracoContextAccessor(IHttpContextAccessor httpContextAccessor)
|
|
{
|
|
_httpContextAccessor = httpContextAccessor;
|
|
}
|
|
|
|
public UmbracoContext UmbracoContext
|
|
{
|
|
get
|
|
{
|
|
var httpContext = _httpContextAccessor.HttpContext;
|
|
if (httpContext == null) throw new Exception("oops:httpContext");
|
|
return (UmbracoContext) httpContext.Items[HttpContextItemKey];
|
|
}
|
|
|
|
set
|
|
{
|
|
var httpContext = _httpContextAccessor.HttpContext;
|
|
if (httpContext == null) throw new Exception("oops:httpContext");
|
|
httpContext.Items[HttpContextItemKey] = value;
|
|
}
|
|
}
|
|
}
|
|
}
|