我好像打电话有问题:
Clients.Others.SomeJavascriptFunction;当我用
GlobalHost.ConnectionManager.GetHubContext("MyHub");我似乎只能让它在集线器内工作。有人能解释一下这件事吗。
问候
麦克
更新
大卫的评论之后
我发现我可以做到以下几点:
public class MyHub1 : Hub
{
public static HubConnectionContext MyProperty { get; set; }
public void Start()
{
MyProperty = Clients;
}
}那就给我的js打个电话
$.connection.hub.start().done(function () {
sig.server.start();
});它允许我从api控制器调用我的函数。
[HttpPost]
public SaveResult SaveChanges(JObject saveBundle) {
var changes = _contextProvider.SaveChanges(saveBundle);
var stuff = MyHub1.MyProperty;
stuff.Others.refreshToDos();
return changes;
}也许是一次彻底的黑客攻击,但似乎奏效了。
有人能看出这有什么问题吗?
发布于 2013-04-09 14:13:25
其他只有当您有要排除的连接id时才有意义。另一些则是Clients.AllExcept(Context.ConnectionId)的缩写。当您在集线器外时,没有当前的连接id,因此您不能使用其他连接。
您需要将连接id从客户机传递到要用于执行AllExcept的API。
https://stackoverflow.com/questions/15900304
复制相似问题