【发布时间】:2015-06-03 04:28:38
【问题描述】:
我正在尝试从一个控制器方法向我的客户端方法发送数据,该控制器方法在实例客户端断开连接时返回响应。
控制器 目前..
public void SomeMethod(){
IHubContext hubContext = GlobalHost.ConnectionManager.GetHubContext<MyHub>();
while(true){
hubContext.Clients.All.addNameValue(name,value);
}
}
我想要什么..
bool someProperty = false
public string SomeMethod(){
IHubContext hubContext = GlobalHost.ConnectionManager.GetHubContext<MyHub>();
while(true & (someProperty == false)){
hubContext.Clients.All.addNameValue(name,value);
}
return "done";
}
因为我们知道客户端与集线器覆盖方法断开连接..
集线器
public override Task OnDisconnected(bool stopCalled = true)
{
Console.WriteLine("Hub Disconnected: {0}\n", Context.ConnectionId);
return (base.OnDisconnected(stopCalled));
}
是否有任何方法可以从集线器外部跟踪控制器实例,以便可以完成类似的操作?
public override Task OnDisconnected(bool stopCalled = true)
{
SomeClass.someProperty = true;
Console.WriteLine("Hub OnDisconnected {0}\n", Context.ConnectionId);
return (base.OnDisconnected(stopCalled));
}
当我们想要来回传输数据时,我们寻求使用信号 R 打开连接的能力,但是能够知道客户端何时断开连接以便客户端可以继续执行操作。
【问题讨论】:
标签: c# sockets signalr instance signalr-hub