我正在尝试使用BlazorHub让客户端实时接收通知。在我发现的所有例子中,集线器被映射到它自己的路径,就像一样
endpoints.MapHub<ChatHub>("/chat");
但在我的情况下,通知图标在顶部导航栏上,整个应用程序都可以共享,并且随时可见,比如在Facebook中。我尝试将其映射到/_Host
或/
,但当我尝试构建ConnectionHub
时,它抛出了无法确定url的异常。
行endpoints.MapBlazorHub();
说它将blazorhub映射到默认路径,我必须使用这个吗?如果是,怎么做?
把endpoints.MapHub<ChatHub>("/chat")
想象成告诉服务器:"嘿开始侦听此地址的SignalR连接&";。
为了监听来自服务器的通知,您创建了一个指向/chat
的HubConnection
。在使用hubConnection.StartAsync()
开始连接之前,您应该使用hubConnection.On()
注册您的事件。
看看Brian在评论中链接的文章。