我想在使用ASP.NET Core MVC构建的API上启用CORS,但是所有当前文档均引用该框架的早期版本。

最佳答案

关于Cors的新功能的注释很浅,但是通过查看新的类和方法,我能够在解决方案中使用它。我的Web API startup.cs 看起来像这样。您可以看到如何通过使用新的CorsPolicy类来构造您的血统和政策。并使用AddCorsUseCors方法启用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/

10-13 05:57