SignalR、ASP.NET 5 和 CORS

SignalR, ASP.NET 5 and CORS

我正在尝试将 SignalR 与我的 MVC6 应用程序一起使用,但我遇到了 CORS 问题。

首先:如果我在 http://localhost:1234/index.html 上托管我的 index.html 文件(与我的网络应用程序相同),它就可以正常工作。 但是当我在别处托管它时(例如在 file:///C:/Users/me/Documents/index.html),我有这个错误:

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

当然,我尝试启用 CORS,这是我的启动文件:

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc();
        services.AddSignalR();

        services.AddCors();
        var policy = new Microsoft.AspNet.Cors.Core.CorsPolicy();
        policy.Origins.Add("*");
        policy.Headers.Add("*");
        policy.Methods.Add("*");
        services.ConfigureCors(x => x.AddPolicy("allowall", policy));
    }

    public void Configure(IApplicationBuilder app)
    {
        app.UseCors("allowall");
        app.UseSignalR();
        app.UseMvc();
    }
}

但是现在,我又遇到了另一个错误:

A wildcard '*' cannot be used in the 'Access-Control-Allow-Origin' header when the credentials flag is true. Origin 'null' is therefore not allowed access.

然后我试试 :

policy.SupportsCredentials = false;

但仍然出现同样的错误。

我该怎么办?

与 SignalR 团队一起看到,这正在 http://localhost:port 上工作,但不在 file:///C:/Users/me/Documents/index.html 上工作,这是正常的。