C# Blazor服务器通知,BlazorHub位于基本路径中?

C# Blazor服务器通知,BlazorHub位于基本路径中?,c#,asp.net-core,blazor,blazor-server-side,C#,Asp.net Core,Blazor,Blazor Server Side,我正在尝试使用BlazorHub使客户端实时接收通知。在我找到的所有示例中,中心被映射到它自己的路径,如 endpoints.MapHub<ChatHub>("/chat"); endpoints.MapHub(“/chat”); 但在我的例子中,通知图标位于顶部导航栏上,整个应用程序共享该导航栏,并且始终可见,例如在Facebook中。 我尝试将它映射到/\u主机或/,但当我尝试构建连接中心时,它抛出异常,无法确定url 行endpoints.MapBlaz

我正在尝试使用BlazorHub使客户端实时接收通知。在我找到的所有示例中,中心被映射到它自己的路径,如

endpoints.MapHub<ChatHub>("/chat");
endpoints.MapHub(“/chat”);
但在我的例子中,通知图标位于顶部导航栏上,整个应用程序共享该导航栏,并且始终可见,例如在Facebook中。 我尝试将它映射到
/\u主机
/
,但当我尝试构建
连接中心
时,它抛出异常,无法确定url


endpoints.MapBlazorHub()说它将blazorhub映射到默认路径,我必须使用这个路径吗?如果是,怎么做?

想想
endpoints.MapHub(“/chat”)
就像告诉服务器:“嘿!开始监听这个地址的信号器连接吧!”

为了监听来自服务器的通知,您创建了一个指向
/chat
HUB连接。在使用
hubConnection.StartAsync()
启动连接之前,应使用
hubConnection.On()
注册事件


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

这是如何解决我问题中的问题的?它清楚地表明您需要这两个方面:`endpoints.MapBlazorHub();endpoints.MapHub(“/chathub”)`是的,我注意到了,但在我的例子中,通知是一个没有路由的组件,因为它被放在导航栏(页面顶部)中,其他所有页面共享…该URL不是指应用程序中的路由,这就是如何连接到服务器上的信号器。