Files
Umbraco-CMS/src/Umbraco.Web/Models/PublishedContent/HttpContextVariationContextAccessor.cs

29 lines
1.1 KiB
C#
Raw Normal View History

2018-06-03 17:21:15 +02:00
using Umbraco.Core.Models.PublishedContent;
namespace Umbraco.Web.Models.PublishedContent
{
/// <summary>
/// Implements <see cref="IVariationContextAccessor"/> on top of <see cref="IHttpContextAccessor"/>.
/// </summary>
public class HttpContextVariationContextAccessor : IVariationContextAccessor
{
public const string ContextKey = "Umbraco.Web.Models.PublishedContent.DefaultVariationContextAccessor";
public readonly IHttpContextAccessor HttpContextAccessor;
/// <summary>
/// Initializes a new instance of the <see cref="HttpContextVariationContextAccessor"/> class.
/// </summary>
public HttpContextVariationContextAccessor(IHttpContextAccessor httpContextAccessor)
{
HttpContextAccessor = httpContextAccessor;
}
/// <inheritdoc />
public VariationContext VariationContext
{
get => (VariationContext) HttpContextAccessor.HttpContext?.Items[ContextKey];
2018-06-03 17:21:15 +02:00
set => HttpContextAccessor.HttpContext.Items[ContextKey] = value;
}
}
}