Asp.net SignalR显示管理项目中的联机用户

Asp.net SignalR显示管理项目中的联机用户,asp.net,asp.net-mvc,signalr,Asp.net,Asp.net Mvc,Signalr,我有一个包含多个类库和两个web(ui)项目(web和Admin)的解决方案 我的集线器位于一个类库中,两个ui项目可以访问该类库 如何在َADMIN project中显示WEB project中的在线用户如果您有两个位于不同AppDomain中的独立项目,则Hub必须存在于这两个项目中的一个项目中。例如,如果将Web项目加载为,将admin加载为,则如果在每个集中实例化中心,则将有两个单独的中心。如果我理解你的要求,这不是你想做的 相反,您应该在这两个项目中的一个中加载Hub,我假设这将是we

我有一个包含多个类库和两个web(ui)项目(web和Admin)的解决方案

我的集线器位于一个类库中,两个ui项目可以访问该类库


如何在َADMIN project

中显示WEB project中的在线用户如果您有两个位于不同AppDomain中的独立项目,则Hub必须存在于这两个项目中的一个项目中。例如,如果将Web项目加载为,将admin加载为,则如果在每个集中实例化中心,则将有两个单独的中心。如果我理解你的要求,这不是你想做的

相反,您应该在这两个项目中的一个中加载Hub,我假设这将是web项目。管理项目可以将自己设置为信号器客户端。然后,web项目中的中心可以根据signaronconnect和onDisconnect方法向管理项目发送更新的用户计数,正如Luke所建议的那样

因此,如果管理项目除了从SignalR获取用户计数之外不需要任何其他功能,那么您可以在Web项目中使用Hub,并在管理项目中使用Web项目调用WebAPI方法来更新用户计数


我对你的解决方案做了很多假设。如果我错了,请告诉我,我会修改或删除这篇文章

如果在不同的AppDomain中有两个独立的项目,则中心必须存在于这两个项目之一中。例如,如果将Web项目加载为,将admin加载为,则如果在每个集中实例化中心,则将有两个单独的中心。如果我理解你的要求,这不是你想做的

相反,您应该在这两个项目中的一个中加载Hub,我假设这将是web项目。管理项目可以将自己设置为信号器客户端。然后,web项目中的中心可以根据signaronconnect和onDisconnect方法向管理项目发送更新的用户计数,正如Luke所建议的那样

因此,如果管理项目除了从SignalR获取用户计数之外不需要任何其他功能,那么您可以在Web项目中使用Hub,并在管理项目中使用Web项目调用WebAPI方法来更新用户计数


我对你的解决方案做了很多假设。如果我错了,请告诉我,我会修改或删除这篇文章

这是一个编码帮助网站,所以我们需要一些代码…:)。您需要建立一个已连接用户的列表,并确保在hub的OnConnect()OnDisconnect()方法中对该列表进行了适当的操作。亲爱的@Luke我这样做了,现在我有了已连接用户的列表,我在web应用程序中显示了列表的计数,但现在我需要在另一个web应用程序(管理子域)中显示计数:)好的,您面临什么问题?这是一个编码帮助网站,所以我们需要一些代码…:)。您需要建立一个已连接用户的列表,并确保在hub的OnConnect()OnDisconnect()方法中对该列表进行了适当的操作。亲爱的@Luke我这样做了,现在我有了已连接用户的列表,我在web应用程序中显示了列表的计数,但现在我需要在另一个web应用程序(管理子域)中显示计数:)好的,你面临的问题是什么?