无法使用WebSockets传输类型与SignalR集线器连接

时间:2018-11-25 15:24:16

标签: angular signalr angular6 azure-service-fabric

我有一个angular6 /材质设计应用程序。我正在尝试使用signalR连接到webservice(Service Fabric + .net core)。但是我收到以下错误(我已经在Firefox和Chrome中尝试过):

  

“错误:无法启动传输'WebSockets':未定义”

     

“错误:无法启动连接:错误:无法初始化任何可用的传输。”

在Chrome中,除了之前的2个错误(在示例中,我用xxx替换了令牌)之外,我还遇到了这个错误:

  

与'wss:// localhost:20003 / supervisor?id = xxxx&access_token = xxxx'的WebSocket连接失败:HTTP身份验证失败;没有有效的凭据

这是我的邮政编码:

//Creating Connection
this.hubConnection = new HubConnectionBuilder()
            .withUrl(this.hubUrl, {
                accessTokenFactory: () => {
                  return window.localStorage.getItem('token'); }
                  , transport: (HttpTransportType.WebSockets)})
            .configureLogging(LogLevel.Information)
            .build();   
//Starting Connection 
 this.hubConnection
        .start()
        .then(() => {
            console.log('connection succeeded')
        })
        .catch((e) => {
            console.log('Error while establishing connection  ', e);
        }); 

在我的Web服务中,我在startup.cs中添加了以下代码:

services.AddCors(options => options.AddPolicy("CorsPolicy", builder =>
        {
            builder
                .AllowAnyMethod()
                .AllowAnyHeader()
                .AllowAnyOrigin()
                .AllowCredentials();
        }));

//in configure() method
app.UseCors("CorsPolicy");
app.UseWebSockets();
app.UseAuthentication();

请让我知道是否有解决此问题的方法

0 个答案:

没有答案