c# - 从普通 C# 类调用 SignalR Client 方法

标签 c# asp.net-mvc signalr

我正在尝试在我的 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 客户端方法?

最佳答案

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 中了解更多信息.

关于c# - 从普通 C# 类调用 SignalR Client 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23218198/

相关文章:

asp.net - IIS 7.5 上的 SignalR 始终对每个浏览器使用长轮询

reactjs - React .NET - 使用signalR获取所有事件连接的数量

C# 等待与延续 : not quite the same?

c# - RESTful API 设计

jquery - 为什么 div 在部分 View 中回发后重复使用相同的 id 和类,MVC

asp.net-mvc - 创建单个 Controller 以返回数据和 View

c# - 如何以编程方式在 C# 中创建数据集?

c# - Visual Studio - 从 'using' 语句中找到引用?

c# - 将控件绑定(bind)到类属性——这在技术上可行吗?

asp.net - SignalR 使用组进行寻呼