我正在寻找一种方法来首先在我的存储库类中公开一个事件, 并在我的信号器集线器中注册该事件, 例如,如果用户已添加到我的应用程序中,则会通知所有连接的用户。 我在我的后端使用asp.net Mvc。 这样做的推荐方法是什么, 我应该从哪里开始?
答案 0 :(得分:3)
如果您想通知其他客户端,就像在所有连接的客户端上执行消息一样简单。
AKA:
class MyHub : Hub
{
public void AddUserToApplication()
{
...Your logic to add your user...
Clients.All.newUserInApp(); // newUserInApp would then have to be defined on the client.
}
}
如果您希望在集线器之外执行此类行为,也就是在计时器中,您可以通过以下方式访问集线器“客户端”属性:
IHubContext context = GlobalHost.ConnectionManager.GetHubContext<MyHub>();
所以你可以这样做:
context.Clients.All.newUserInApp();