C# 在.net核心解决方案中使用多个项目时出现Cors问题

C# 在.net核心解决方案中使用多个项目时出现Cors问题,c#,.net,asp.net-core,cors,C#,.net,Asp.net Core,Cors,我有一个包含多个.net核心项目的项目。我在从项目a打电话到项目B时遇到问题。我不断收到cors问题,说明不存在访问控制允许来源。我有以下设置,由于某些原因无法正常工作 public void ConfigureServices(IServiceCollection services) { // Add framework services. services.AddCors(); services.Add

我有一个包含多个.net核心项目的项目。我在从项目a打电话到项目B时遇到问题。我不断收到cors问题,说明不存在访问控制允许来源。我有以下设置,由于某些原因无法正常工作

 public void ConfigureServices(IServiceCollection services)
        {
            // Add framework services.
            services.AddCors();
            services.AddMvc().AddMvcOptions(options => options.RespectBrowserAcceptHeader = true);

        }

   public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IAntiforgery antiforgery)
        {
            loggerFactory.AddDebug(LogLevel.Information).AddSerilog();



            app.UseCors(builder =>
              builder.WithOrigins("*")
              .WithMethods("*")
              .AllowAnyHeader()
              .AllowAnyMethod()
              .AllowAnyOrigin()
              );

            app.UseStaticFiles();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");

            });
        }

通配符不起作用

试试这个:

app.UseCors((builder) => {
    builder.AllowAnyOrigin();
    builder.AllowAnyHeader();
    builder.AllowAnyMethod();
});

我就是这样做的。效果很好。JimmyH的建议应该有效,我只是想给你另一个选择

public void ConfigureServices(IServiceCollection services)
{
    services.AddCors(options =>
    {
        options.AddPolicy("AnyOrigin", builder =>
        {
            builder
                .AllowAnyOrigin()
                .AllowAnyHeader()
                .AllowAnyMethod();
        });
    });

    services.AddMvc();
    ...
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
    ...
    app.UseCors("AnyOrigin");
    app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");

            });
    ...
}

我尝试了这个,但由于某种原因,我仍然得到相同的错误。项目A是.net核心项目而项目B是.net框架项目是否重要?