如何解决SignalR Hubconnection 未收到来自 Azure 函数应用的任何消息
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 的服务模式是 Serverless。 我也没有收到任何错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。