加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-web-api – 如何在ASP.NET 5和MVC 6中启用跨源请求(CORS

发布时间:2020-12-15 19:08:11 所属栏目:asp.Net 来源:网络整理
导读:我想在使用MVC 6构建的API启用CORS,但所有当前文档引用该框架的早期版本。 解决方法 关于新的Cors功能的注释很轻,但是我能够通过查看新的类和方法在我的解决方案中工作。我的Web API startup.cs看起来像这样。你可以看到如何使用新的CorsPolicy类来构造你
我想在使用MVC 6构建的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();
 }

您还可以在控制器中引用具有新属性的策略,如此

[EnableCors("mypolicy")]
[Route("api/[controller]")]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读