web-dev-qa-db-fra.com

Le constructeur de la classe 'HubConnection' est privé et accessible uniquement dans la déclaration de classe

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.

 enter image description here

J'ai besoin de votre aide pour cela s'il vous plait. Je vous remercie.

5
Ibanez1408

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 });
    });
  }
}
9
Virag Shakhida

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

0
Brennan