要解决"Ajax调用ASP.NET Core Web API时CORS不起作用"的问题,可以按照以下步骤进行操作:
可以通过NuGet包管理器控制台或Visual Studio的NuGet包管理界面进行安装。
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("AllowOrigin",
builder => builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader());
});
// 其他服务配置
services.AddControllers();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// 其他配置
app.UseCors("AllowOrigin");
app.UseRouting();
// 其他中间件配置
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
[ApiController]
[Route("api/[controller]")]
[EnableCors("AllowOrigin")]
public class YourController : ControllerBase
{
// 控制器的方法
}
这样配置后,CORS应该会在你的ASP.NET Core Web API中起作用,并允许来自任何来源的请求。记得在实际生产环境中根据需求进行CORS配置,不要使用"AllowAnyOrigin"。