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

时间:2017-04-11 21:05:53

标签: c# .net asp.net-core cors

我有一个包含多个.net核心项目的项目。从项目A到项目B进行调用时遇到问题。我不断收到一个问题,说明存在no-access-control-allow-origin。我在下面的设置由于某种原因无法正常工作。

void initializeArray( size_t rows, size_t cols, float (**array)[cols] )
{
  *array = malloc( rows * sizeof **array );
  if ( *array )
  {
    for ( size_t i = 0; i < rows; i++ )
      for ( size_t j = 0; j < rows; j++ )
        (*array)[i][j] = initial_value();
  }
}

2 个答案:

答案 0 :(得分:1)

通配符不起作用。

试试这个:

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

https://docs.microsoft.com/en-us/aspnet/core/security/cors#set-the-allowed-origins

答案 1 :(得分:0)

我就是这样做的。效果很好。 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?}");

            });
    ...
}