2016-11-15 129 views
1

在我的asp.net项目中,我已经在webapiconfig文件中定义CORS这样我正在将我的asp.net web api迁移到asp.net核心。 CORS迁移

public static class WebApiConfig 
    { 
     public static void Register(HttpConfiguration config) 
     { 
      // New code 
      var cors = new EnableCorsAttribute("*", "*", "*", "DataServiceVersion, MaxDataServiceVersion") { SupportsCredentials = true }; 
      config.EnableCors(cors); 

现在我想将其迁移到asp.net核心。如何做呢?请帮忙。

回答

0
  1. 添加CORS服务:

    public void ConfigureServices(IServiceCollection services) 
    { 
        services.AddCors(options => options.AddPolicy("AllowAll", builder => 
        { 
         builder 
          .AllowAnyHeader() 
          .AllowAnyMethod() 
          .AllowAnyOrigin() 
          .AllowCredentials() 
          .WithExposedHeaders("DataServiceVersion", "MaxDataServiceVersion"); 
        })); 
    } 
    
  2. 使用CORS中间件:

    public void Configure(IApplicationBuilder app) 
    { 
        app.UseCors("AllowAll"); 
    } 
    
+0

仍然出现错误=>无 '访问控制允许来源' 头出现在请求的资源上。原因'http:// localhost:5004'因此不被允许访问。该响应的HTTP状态码为500. –

+0

@SagarChaudhary UseCors扩展方法在'UseMvc'方法之前调用'app.UseCors(“AllowAll”)。UseMvc();'? –

+0

是 app.UseIdentity(); app.UseCors(“AllowAll”); app.UseMvc(); –