public AspNetCoreDashboardContext(
            [NotNull] JobStorage storage,
            [NotNull] DashboardOptions options,
            [NotNull] HttpContext httpContext)
            : base(storage, options)
        {
            if (httpContext == null)
            {
                throw new ArgumentNullException(nameof(httpContext));
            }

            HttpContext = httpContext;
            Request     = new AspNetCoreDashboardRequest(httpContext);
            Response    = new AspNetCoreDashboardResponse(httpContext);

            var antiforgery = HttpContext.RequestServices.GetService <IAntiforgery>();

            if (antiforgery != null)
            {
                var tokenSet = antiforgery.GetAndStoreTokens(HttpContext);

                AntiforgeryHeader = tokenSet.HeaderName;
                AntiforgeryToken  = tokenSet.RequestToken;
            }
        }
        public AspNetCoreDashboardContext(
            [NotNull] JobStorage storage,
            [NotNull] DashboardOptions options,
            [NotNull] HttpContext httpContext) 
            : base(storage, options)
        {
            if (httpContext == null) throw new ArgumentNullException(nameof(httpContext));

            HttpContext = httpContext;
            Request = new AspNetCoreDashboardRequest(httpContext);
            Response = new AspNetCoreDashboardResponse(httpContext);
        }
        public AspNetCoreDashboardContext(
            [NotNull] JobStorage storage,
            [NotNull] DashboardOptions options,
            [NotNull] HttpContext httpContext)
            : base(storage, options)
        {
            if (httpContext == null)
            {
                throw new ArgumentNullException(nameof(httpContext));
            }

            HttpContext = httpContext;
            Request     = new AspNetCoreDashboardRequest(httpContext);
            Response    = new AspNetCoreDashboardResponse(httpContext);
        }