J'essaie de mettre en œuvre un projet angulaire et signal. Je reçois l'échantillon de Moyen
J'ai installé tous les paquets nécessaires et j'ai le code ci-dessous dans app.component.ts:
import { Component, OnInit } from '@angular/core';
import { HubConnection } from '@aspnet/signalr';
import { Message } from 'primeng/api';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'PROJECT TITLE';
base_url = 'http://localhost:8081/';
hubConnecton: HubConnection;
msgs: Message[] = [];
constructor() {
}
ngOnInit(): void {
this.hubConnecton = new HubConnection(this.base_url);
}
}
Mais je reçois une erreur dans = new HubConnection(this.base_url);
avec ce message: Constructor of class 'HubConnection' is private and only accessible within the class declaration.
J'ai besoin de votre aide pour cela s'il vous plait. Je vous remercie.
Vous devez utiliser HubConnectionBuilder () .
import { Component, OnInit } from '@angular/core';
import { HubConnection, HubConnectionBuilder } from '@aspnet/signalr';
import { Message } from 'primeng/api';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
public _hubConnecton: HubConnection;
msgs: Message[] = [];
constructor() { }
ngOnInit(): void {
this._hubConnecton = new HubConnectionBuilder().withUrl("http:/:localhost:1874/notify").build();
this._hubConnecton
.start()
.then(() => console.log('Connection started!'))
.catch(err => console.log('Error while establishing connection :('));
this._hubConnecton.on('BroadcastMessage', (type: string, payload: string) => {
this.msgs.Push({ severity: type, summary: payload });
});
}
}
La méthode prévue pour créer une HubConnection
consiste à utiliser l'API HubConnectionBuilder
. Vous pouvez consulter la documentation pour plus de détails https://docs.Microsoft.com/en-us/aspnet/core/signalr/javascript-client?view=aspnetcore-2.1