Установить индекс ie в моненте при индексировании. html загрузка - PullRequest
0 голосов
/ 10 апреля 2020

Я хочу установить http cook ie, когда клиент загружает индекс. html.

context.Response.Cookies.Append(key, value, new CookieOptions
            {
                Expires = new DateTimeOffset(DateTime.Now.AddDays(1)),
                HttpOnly = true,
                Secure = true,
                SameSite = SameSiteMode.Strict
            }); 

Я понятия не имею, где я могу поместить его в код сервера.

Все дело в индексе. html на сервере:

app.UseEndpoints(endpoints =>
        {
            endpoints.MapDefaultControllerRoute();
            endpoints.MapFallbackToClientSideBlazor<Client.Program>("index.html");
        });

1 Ответ

1 голос
/ 10 апреля 2020

Добавьте промежуточное ПО до app.UseBlazorFrameworkFiles и проверьте путь запроса:

app.Use((context, next) =>
{
    if (PathIsApplicationPath(context.Request.Path))
    {
        SetApplicationCookie(context.Response);
    }
    return next();
});
app.UseBlazorFrameworkFiles();

...

private bool PathIsApplicationPath(PathString path)
{
     // TODO: implement this
}

private void SetApplicationCookie(HttpResponse response)
{
    response.Cookies.Append("TheCookieName", "TheCookieValue", new CookieOptions
            {
                Expires = new DateTimeOffset(DateTime.Now.AddDays(1)),
                HttpOnly = true,
                Secure = true,
                SameSite = SameSiteMode.Strict
            });
}
...