我在尝试从HuContext发送信号器消息时收到以下错误(即:从服务器而不是另一个客户端)。这是在我原来的原型中工作,但自从我实现背板后停止了工作:
找不到方法:' Microsoft.AspNet.SignalR.Hubs.IHubConnectionContext Microsoft.AspNet.SignalR.IHubContext.get_Clients()'。
我在Hub类上创建了一些静态方法,以便在处理过程中触发SignalR消息(遵循我发现的一个例子)。 Hub类目前看起来像这样(为简洁起见删除了类似的方法):
public class ImportFilesHub : Hub
{
public void ImportFileProgressChanged(ImportFileProgressChangedNotification notification)
{
Clients.All.ImportFileProgressChanged(notification);
}
public static void HubImportFileProgressChanged(ImportFileProgressChangedNotification notification)
{
IHubContext context = GlobalHost.ConnectionManager.GetHubContext<ImportFilesHub>();
context.Clients.All.importFileProgressChanged(notification);
}
}
我怀疑我收到此错误的原因是因为这是在使用背板时处理此类要求的错误方法(因为它在原型中工作),但是我已经搜索了SignalR文档但找不到这样做的替代方法。
我想我可以将SignalR客户端类添加到服务器并连接客户端的方式......但这似乎不是一种非常优雅的方法。