【问题标题】:Call SignalR Client method from normal C# class从普通 C# 类调用 SignalR 客户端方法
【发布时间】:2014-06-06 17:53:38
【问题描述】:

我正在尝试在我的 MVC 项目中添加 SignalR。我需要从我的类库中调用 SignalR 客户端方法。我做了下面的代码

public class CommomHubManager : ICommomHubManager
    {
        readonly IHubContext Context;
        public CommomHubManager()
        {
            Context = Helpers.Providers.HubContextProvider<Hubs.Notifications>.HubContext;
        }
        public Task AddUserToGroup(string groupName)
        {
            return Task.Factory.StartNew(() => {
                Context.Clients.All.addUserToGroup(groupName);
            });
        }
    }

它不工作,但是当我尝试从 WebApi 调用另一个 Hub 类方法时,它工作得很好。我想知道是否可以从普通 C# 类调用 SignalR 客户端方法?

【问题讨论】:

标签: c# asp.net-mvc signalr


【解决方案1】:

How to use SignalR hub instance outside of the hubpipleline

var context = GlobalHost.ConnectionManager.GetHubContext<CommomHubManager>();
context.Clients.All.Send("Admin", "stop the chat");

您可以在SignalR documentation 中找到更多信息。

【讨论】:

  • 我做了同样的事情,但它不适合我。 Context.Clients.All.addUserToGroup(groupName);
  • 解决了实际上我在 SignalR 完全加载之前调用了 SignalR 方法。谢谢
猜你喜欢
  • 1970-01-01
  • 2018-03-02
  • 1970-01-01
  • 1970-01-01
  • 2012-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多