我正在使用C#API并从前端执行GET请求,为实现这一点,我需要在我的API中启用cors,但我似乎做不到!
这是一个.NET Core 3 API,我尝试按照this教程进行操作,并且还尝试通过以下方式为其安装2.2 NuGet Package:
dotnet add package Microsoft.AspNetCore.Cors --version 2.2.0
但是在执行GET请求时仍然出现cors错误。
尝试使用 [EnableCors] 批注时,出现错误消息,提示“找不到EnableCorsAttribute” ...
我还添加了
app.UseCors();
进入我的Startup.cs,但没有运气。
任何帮助将不胜感激!
编辑-Startup.cs粘贴在此处: https://pastebin.com/pCLSh3Tf
编辑-控制器粘贴在此处: https://pastebin.com/mUSfvNR0
答案 0 :(得分:2)
不确定在Core 3.0中是否有任何更改,但是在2.2中,我会这样解决:将其添加到ConfigureServices
services.AddCors(options =>
{
options.AddPolicy("CorsPolicy",
builder => builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader());
});
还要确保在Configure方法中添加策略:
app.UseCors("CorsPolicy");
如果要使用cors,则可以编辑该策略,因为这实际上是将其禁用。
答案 1 :(得分:0)
在ConfigureServices的开头添加以下内容:
services.AddCors();
在配置开始时添加以下内容:
app.UseCors(x => x.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader());