2016-11-15 132 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(); –