【发布时间】:2018-09-27 19:38:39
【问题描述】:
又名“从后台服务向客户端发送消息”
我希望我的 SignalR 服务器每 n 秒更新一次仪表板。我现在正在使用这个:
public class MyHub : Hub
{
public override Task OnConnectedAsync()
{
Observable.Interval(TimeSpan.FromSeconds(0.5)).Subscribe(l =>
{
var alt = CalcAltitude(l);
SendMessage(alt);
});
return Task.CompletedTask;
}
private void SendMessage(double alt)
{
Clients.All.SendAsync("SendAction", new Status() {Altitude = alt});
}
private double CalcAltitude(long l)
{
return 100 * Math.Sin((double) l / 100) + 200;
}
}
public class Status
{
public double Altitude { get; set; }
}
当我的代码被执行时,它会抛出一个异常,说明
无法访问已处置的对象
我怀疑我在这里做错了什么。
那么,什么是及时向所有客户端发送消息的正确方法?
【问题讨论】:
-
设置javascript间隔调用signalR方法
标签: c# .net signalr signalr-hub