如何在Blazor Razor页面上读取标头?

5

我有一个 Razor 页面并且想要从请求中读取头部信息,但是我不知道该如何操作。

请问如何实现?

@page  "/"
@inject NavigationManager navigationManager;


<div class="section">
</div>

@code {

    private string header;

    protected override async Task OnInitializedAsync()
    {
        // how to do it here
    }
}

对于服务器端,请参阅此帖子:https://learn.microsoft.com/en-us/aspnet/core/blazor/security/server/additional-scenarios?view=aspnetcore-6.0(主要涉及安全性,但我希望也适用于任何其他HttpContext请求数据) - dani herrera
1个回答

10

我找到了一种简单的读取标题的方法

首先,为IHttpContextAccessor服务添加了一个默认实现

builder.Services.AddHttpContextAccessor();

接下来,我们需要通过页面请求获取特定名称的标头信息:

@inject IHttpContextAccessor httpContextAccessor;

@code {

    private string needParameter { get; set; }

    protected override async Task OnInitializedAsync()
    {
        needParameter = httpContextAccessor.HttpContext.Request.Headers["parameterName"];
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接