首页 > 解决方案 > 在 .Net Core 中间件中设置 Content-Range

问题描述

我在我的前端应用程序上使用 react-admin,它需要为每个返回元素列表的 api 端点设置 Content-Range 标头。我的 api 是一个 ASP .Net Core 应用程序。我知道您可以按照以下答案所示的方式设置 Content-Range 标头:.net core how to add Content-range to header,但我想以适用于所有端点的方式设置它. 如何通过使用中间件或其他方法来实现这一点?

标签: httpasp.net-corehttp-headers

解决方案


通过 HttpContext 我们可以访问 Response , Response 类有一个OnStarting()方法,该方法在开始在请求的男孩中写入任何内容之前执行。该方法接受一个回调函数,其特定目的是在编写正文之前执行必须执行的任何任务:

app.Use(async (context, next) =>
{
    context.Response.OnStarting(() =>
    {
        context.Response.Headers.Add("Content-Range", "xxxx");
        return Task.FromResult(0);
    });
    await next();
});
app.UseMvc();

推荐阅读