Соединение концентратора SignalR не получает никаких сообщений от приложения функции Azure

#angular #asp.net-core #signalr #signalr-hub

Вопрос:

Во-первых, я создал функцию HTTP-триггера

 public static class Negotiate
{
    [FunctionName("Negotiate")]
    public static SignalRConnectionInfo Run(
        [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequest req,
        ILogger log,
        [SignalRConnectionInfo(HubName = "col")] SignalRConnectionInfo connectionInfo)
    {
        return connectionInfo;
    }
}
 

Затем я добавил привязку SignalR к функции Azure (триггер служебной шины).

 [SignalR(HubName = "col")] IAsyncCollector<SignalRMessage> signalRMessage
 

затем, когда я пытаюсь отправлять сообщения с помощью этой привязки SignalR

 var list = GetPatientAR();
await signalRMsg.AddAsync(new SignalRMessage
{
 Target = "patientarlist",
 Arguments = new[] { list }
});
 

Сборка соединения с помощью HubConnectionBuilder вообще не получает никаких сообщений от этой функции Azure.

Код для HubConnectionBuilder выглядит следующим образом:

 private collectionHubConnection: signalR.HubConnection;

public startConnection() {
   this.collectionHubConnection = new signalR.HubConnectionBuilder()
  .withUrl("http://localhost:7071/api", {
    skipNegotiation: false,
    transport: signalR.HttpTransportType.WebSockets
  }).build();
this.collectionHubConnection.start()
  .then(() => console.log("collection SIGNALR CONN DONE"))
  .catch(err => console.log("collection SIGNALR ERROR:"   err));
}

ngOnInit() {
  this.startConnection();
}


loadPatientAR() {
this.collectionservice.getPatientARData().subscribe((data) => {
  this.patientARAry = data;
  console.log("Patient AR DATA FROM API", this.patientARAry);
});
this.collectionHubConnection.on("patientarlist", (data) => {
  this.patientARAry = data
  console.log("par data", data);
})
}
 

Режим обслуживания signalr является бессерверным.
Кроме того, я вообще не получаю никаких ошибок.