【发布时间】:2019-04-01 03:36:21
【问题描述】:
我有一种情况,我从集线器响应中检索了我需要的内容,但它不会将其广播给所有用户,并且只有进行调用的用户会在浏览器上接收更新。
我的模型最初是
<button>
<span id="MySpan">@Html.ValueFor(m => m.MyCount)</span>
</button>
这是我的功能:
myHubProxy.client.handleMyJob = function ()
{
myHubProxy.server.getTheCounts().done(function (model) {
var modelJson = JSON.parse(model);
updateTheCounts(modelJson);
});
};
$.connection.hub.start();
此时我在 modelJson 中有我需要的更新 #s 计数。
然后我的 updateTheCounts 如下:
function updateTheCounts(model) {
$('#MySpan").text(model.FirstCount);
}
现在我获得了触发此请求的客户端的更新,但没有获得任何其他客户端的更新。
在我的 signalR 上,我指定所有人都应该收到..
更新:我的中心类
context.Clients.All.handleMyJob();
public string GetPrintJobsCounts()
{
var model = new SomeModel();
model.FirstCount = counts.MyCount ?? 0;
return JsonConvert.SerializeObject(model).ToString();
}
【问题讨论】:
-
这是哪个信号器?用于.net 核心或框架的那个?你也可以更新你的中心类吗?
-
@Neville Nazerane 它是 .NET 框架。
-
ok 发布集线器类。因为您需要发送给该类的所有客户
-
@NevilleNazerane 你知道吗,除了这个之外,我还有其他一些有用的东西。
-
我通常通过在 hub 类中运行
Clients.All发送给所有客户端
标签: c# asp.net .net model-view-controller signalr