public static void Start() { ThreadPool.QueueUserWorkItem(_ => { IHubContext hubContext = GlobalHost.ConnectionManager.GetHubContext <SampleHub>(); while (true) { FromServerToClientData data = new FromServerToClientData(); data.Now = DateTime.Now; data.Integer = _random.Next(100); data.Text = new string('a', data.Integer); try { hubContext.Clients.All.Broadcast(data); hubContext.Clients.Group("WebApp").BroadcastToGroup(string.Format("WebApp {0}", DateTime.Now)); hubContext.Clients.Group("ConsoleApp").BroadcastToGroup(string.Format("ConsoleApp {0}", DateTime.Now)); hubContext.Clients.Group("SilverlightApp").BroadcastToGroup(string.Format("SilverlightApp {0}", DateTime.Now)); hubContext.Clients.Group("WindowsStoreApp").BroadcastToGroup(string.Format("WindowsStoreApp {0}", DateTime.Now)); } catch (Exception ex) { System.Diagnostics.Trace.TraceError("SignalR error thrown: {0}", ex); } Thread.Sleep(TimeSpan.FromSeconds(2)); } }); }
public FromServerToClientData Request(FromClientToServerData request) { FromServerToClientData response = new FromServerToClientData(); response.Text = "Responding to: " + request.Text; return(response); }
public async Task RequestWithCallbackAsync(FromClientToServerData request) { FromServerToClientData response = new FromServerToClientData(); response.Text = "Responding to: " + request.Text; await Task.Delay(TimeSpan.FromSeconds(5)); Clients.Others.OthersCallback(response); }
public async Task <FromServerToClientData> RequestAsync(FromClientToServerData request) { FromServerToClientData response = new FromServerToClientData(); response.Text = "Responding to: " + request.Text; await Task.Delay(TimeSpan.FromSeconds(5)); return(response); }