在ASP.NET Core 3.1中,您可以使用以下代码示例来解决CORS API不起作用的问题:
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("AllowAllOrigins",
builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
});
});
//其他配置代码
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
//其他配置代码
app.UseCors("AllowAllOrigins");
//其他配置代码
}
[EnableCors("AllowAllOrigins")]
特性,以允许特定的控制器或API方法跨域访问:[EnableCors("AllowAllOrigins")]
[ApiController]
public class YourController : ControllerBase
{
//其他代码
}
或者
[ApiController]
public class YourController : ControllerBase
{
[EnableCors("AllowAllOrigins")]
[HttpGet]
public IActionResult YourAction()
{
//其他代码
}
}
这样,您的ASP.NET Core 3.1应用程序将允许来自任何来源的跨域请求,并且任何HTTP方法和标头都是允许的。
请注意,这只是一个示例,您可以根据您的实际需求进行更改和配置。另外,确保在NuGet包管理器中安装了Microsoft.AspNetCore.Cors
包。