gpt4 book ai didi

c# - Core 2.1 拒绝响应 Access-Control-Expose-Headers : *

转载 作者:太空狗 更新时间:2023-10-29 20:49:07 29 4
gpt4 key购买 nike

我一定是这里做错了什么,但我想不通;据我所知,这似乎是一个 CORS 问题。我需要将 Access-Control-Expose-Headers: * 公开给任何来源,但 dotnet core 2.1 没有按照我的预期进行。

相关Startup.cs代码:

        public void ConfigureServices(IServiceCollection services)
{
//Mapping settings to POCO and registering with container
var settings = new AppSettings.ReportStorageAccountSettings();
Configuration.Bind(nameof(AppSettings.ReportStorageAccountSettings), settings);

services.AddCors(options =>
{
options.AddPolicy("AllowAll",
builder =>
{
builder
.AllowAnyHeader()
.AllowAnyMethod()
.AllowAnyOrigin()
.AllowCredentials();
});
});
services.AddSingleton(settings);
services.AddApiVersioning();
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}

// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseHsts();
}

app.UseCors("AllowAll");
app.UseHttpsRedirection();
app.UseMvc();
}

此应用程序托管在 Azure 中,我已将 * 条目添加到 Azure 中的 CORS 设置中,以作为衡量标准。现在,每当客户端应用程序(也托管在 Azure 中)发出发布请求时,都无法通过 JS 访问 header ,并且 Access-Control-Expose-Headers: * 不会出现在响应中。但是,当我检查网络响应和使用 Fiddler 时,我可以看到 header 。我已经尝试使用 Axios 和 Jquery 来访问 header 以排除 JS 的任何问题。我在这里做错了什么?

在我响应的 Controller 中:

 Response.Headers.Add("Location", $"api/someLocation");
return StatusCode(StatusCodes.Status202Accepted);

最佳答案

CorsPolicyBuilderAllowAnyHeader方法配置 Access-Control-Allow-Headers响应头,仅用于preflighted requests . Access-Control-Expose-Headers响应头是需要的,使用WithExposedHeaders配置.

这是一个完整的例子:

services.AddCors(options =>
{
options.AddPolicy("AllowAll", builder =>
{
builder.AllowAnyHeader()
.AllowAnyMethod()
.AllowAnyOrigin()
.AllowCredentials()
.WithExposedHeaders("Location"); // params string[]
});
});

关于c# - Core 2.1 拒绝响应 Access-Control-Expose-Headers : *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52333446/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com