gpt4 book ai didi

c# - .Net 5 Web API CORS LocalHost

转载 作者:行者123 更新时间:2023-12-05 08:48:26 29 4
gpt4 key购买 nike

我正在构建一个 .Net 5 Web API,并且仅当我在本地(又名 localhost)运行时才遇到 CORS 问题。将我的应用程序部署到 Azure 后,我可以从我的 Blazor 应用程序访问我的 API。

类 Startup.cs

readonly string MyAllowSpecificOrigins = "_myAllowSpecificOrigins";

类:Startup.cs
方法:配置服务

services.AddCors(options =>
{
//didn't work
//options.AddDefaultPolicy(builder =>
//{
// builder.SetIsOriginAllowed(origin => new Uri(origin).Host == "localhost");
//});

options.AddPolicy(name: MyAllowSpecificOrigins,
builder =>
{
builder.WithOrigins("https://localhost:44373/", "https://myawesomesite")
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials();
});
});

类:Startup.cs
方法:配置

app.UseCors(MyAllowSpecificOrigins);

最佳答案

只需从本地主机 url 中删除尾随的“/”,对于测试,您可以尝试删除 .AllowCredentials()。

并使用这个语法:

services.AddCors(o => o.AddPolicy(MyAllowSpecificOrigins,
builder =>
{
builder.WithOrigins("https://localhost:44373",
"https://myawesomesite")
.AllowAnyMethod()
.AllowAnyHeader();
}));

并且您的 UseCors 方法应该在 UseRouting 和 UseAuthourization 之间


app.UseRouting()
....
.....
app.UseCors(MyAllowSpecificOrigins);

....
....
app.UseAuthorization(); // if you need the one

关于c# - .Net 5 Web API CORS LocalHost,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66101488/

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