ASP.NET Webapi 中 HTTP 的 Cors 错误,但不是 HTTPs
Posted
技术标签:
【中文标题】ASP.NET Webapi 中 HTTP 的 Cors 错误,但不是 HTTPs【英文标题】:Cors Error for HTTP but not for HTTPs in ASP.NET Webapi 【发布时间】:2021-07-27 07:08:33 【问题描述】:我的 Ionic-Angular 前端正在尝试从 C# ASP.NET Webapi 获取数据,两者都作为 Azure 应用服务托管。
使用 https 时可以正常工作,但使用 http 时不行。
我在我的 startup.cs 中尝试了不同的配置,但不知何故它没有通过:
opt.AddPolicy("CorsPolicy", policy =>
policy
.AllowAnyOrigin()
.AllowAnyHeader()
.AllowAnyMethod();
// policy.AllowAnyHeader().AllowAnyMethod().WithOrigins("http://localhost:8100");
);
opt.AddPolicy("CorsPolicy", policy =>
policy
.WithOrigins("https://cappuccinobudget.azurewebsites.net",
"http://cappuccinobudget.azurewebsites.net" )
.AllowAnyHeader()
.AllowAnyMethod();
);
有什么建议吗?
【问题讨论】:
看到这个***.com/questions/59317789/… 这篇文章需要更多细节。 【参考方案1】:尝试用这个替换你的 Cors 语法
services.AddCors(o => o.AddPolicy("CorsPolicy",
builder =>
builder.WithOrigins("http://localhost:8100")
.AllowAnyMethod()
.AllowAnyHeader();
));
.....
app.UseCors("CorsPolicy");
【讨论】:
能否请您发布包含我的提示的整个启动文件?以上是关于ASP.NET Webapi 中 HTTP 的 Cors 错误,但不是 HTTPs的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ASP.NET MVC/WebAPI 应用程序中支持 HTTP OPTIONS 动词
HTTP post请求中的多个参数不在Asp.net webApi 2.0中绑定
01Getting Started---Getting Started with ASP.NET Web API 2入门WebApi2