我想在使用ASP.NET Core MVC构建的API上启用CORS,但是所有当前文档均引用该框架的早期版本。
最佳答案
关于Cors的新功能的注释很浅,但是通过查看新的类和方法,我能够在解决方案中使用它。我的Web API startup.cs 看起来像这样。您可以看到如何通过使用新的CorsPolicy
类来构造您的血统和政策。并使用AddCors
和UseCors
方法启用CORS。
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
//Add Cors support to the service
services.AddCors();
var policy = new Microsoft.AspNet.Cors.Core.CorsPolicy();
policy.Headers.Add("*");
policy.Methods.Add("*");
policy.Origins.Add("*");
policy.SupportsCredentials = true;
services.ConfigureCors(x=>x.AddPolicy("mypolicy", policy));
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
// Configure the HTTP request pipeline.
app.UseStaticFiles();
//Use the new policy globally
app.UseCors("mypolicy");
// Add MVC to the request pipeline.
app.UseMvc();
}
您也可以使用新属性在 Controller 中引用策略,如下所示
[EnableCors("mypolicy")]
[Route("api/[controller]")]
关于c# - 如何在ASP.NET Core MVC中启用跨域请求(CORS),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29100538/