早上好,我希望有人能给我指个方向。
我正在从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项目中使用HubConnection或HubConnectionBuilder来设置它。
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);
});我也找不到在哪里设置访问控制头。
任何帮助都将不胜感激。
发布于 2019-01-03 13:56:57
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[]) => {
}
}
});
}https://stackoverflow.com/questions/52233629
复制相似问题