[英].Net 5 Web API CORS LocalHost
我正在构建 a.Net 5 Web API 并且仅当我在本地(又名 localhost)运行时遇到 CORS 问题。 当我将我的应用程序部署到 Azure 时,我可以从我的 Blazor 应用程序访问我的 API 就好了。
Class Startup.cs
readonly string MyAllowSpecificOrigins = "_myAllowSpecificOrigins";
Class: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();
});
});
Class: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
我身边的东西正常工作如下。
Class:Startup.cs
方法:配置服务
services.AddCors(c =>
{
c.AddPolicy("AllowOrigin", options => options.AllowAnyOrigin());
});
Class:Startup.cs
方法:配置
app.UseCors(options => options.AllowAnyOrigin());
试试这个,让我知道它是否有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.