首页 > 解决方案 > 在基本路径中使用 BlazorHub 的 Blazor-Server 通知?

问题描述

我试图让客户端使用 BlazorHub 实时接收通知。在我找到的所有示例中,集线器都被映射到它自己的路径,例如

endpoints.MapHub<ChatHub>("/chat");

但在我的情况下,通知图标位于顶部导航栏上,由整个应用程序共享并且始终可见,例如在 Facebook 中。我尝试将它映射到,/_Host或者/但是当我尝试构建ConnectionHub无法确定 url 时它会引发异常。

该行endpoints.MapBlazorHub();说它将 blazorhub 映射到默认路径,我必须使用这个吗?如果是这样,如何?

标签: c#asp.net-coreblazorblazor-server-side

解决方案


想像endpoints.MapHub<ChatHub>("/chat")告诉服务器:“嘿!开始在这个地址监听 SignalR 连接!”。

为了收听来自服务器的通知,您创建一个HubConnection指向/chat. 在开始与 的连接之前hubConnection.StartAsync(),您应该使用 注册您的活动hubConnection.On()

看看 Brian 在评论中链接的文章。


推荐阅读