我正在尝试在我的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 客户端方法?
答案 0 :(得分:5)
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中找到更多信息。