设置角度为6

时间:2018-09-08 08:53:54

标签: angular signalr

早上好,我希望有人能指出我正确的方向。

我正在从angularJs迁移到Angular6,并想使用@aspnet/signalr npm package

我正在尝试建立signalR连接并遇到问题。我以前使用jquery signalR进行的连接如下。

$.connection.hub.url = 'https://test.localhost.com/api/signalr';
$.connection.hub.qs = "Access-Control-Allow-Origin=*";
var hub = $.connection.servicelog;
hub.client.newInformation = function (data) {
        //do something
    };
hub.client.newInformation2 = function (data) {
        //Do something else
    };

$.connection.hub.start().done(function () {
   $log.debug('connection started to signalrHub app info');
});

您会看到signalr在另一个域上,因此添加了标题。

我的中心名称叫'servicelog'

我无法弄清楚如何在新的Angular 6项目中使用HubConnectionHubConnectionBuilder进行设置。

let connection = new signalR.HubConnectionBuilder().withUrl('https://test.localhost.com/api/signalr' + '/servicelog')
  .build();
connection.start().then(()=>{
  console.log('Hub connection started');
}).catch((err)=>{
  console.log('Error establishing connection - ' + err);
});

我也找不到在哪里设置访问控制标头。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

import { HubConnection, HubConnectionBuilder } from '@aspnet/signalr';
class yourcomponentclass
{
      private _hubConnection: HubConnection;
      ngOnInit(): void {
    this._hubConnection = new HubConnectionBuilder()
      .withUrl('url placed here').build();
    this._hubConnection
      .start()

      .then(() => console.log('Connection started!'))
      .catch(err => console.log('Error while establishing connection :()'));
    this._hubConnection.on('BroadcastMessage', (type: string, rating: number[]) => {

        }
      }
    });
}