public Stream GetChanges() { var arg = new List <BaseObject>(); string clientId = Guid.NewGuid().ToString(); ValuesPusherComet.RegisterCometInstance(clientId, this); if (_ev.WaitOne(Comet.TimeOut)) { lock (typeof(Comet)) { arg = _message; } } Comet.UnregisterCometInstance(clientId); var myResponseBody = JsonConvert.SerializeObject(arg); WebOperationContext.Current.OutgoingResponse.ContentType = "application/json; charset=utf-8"; return(new MemoryStream(Encoding.UTF8.GetBytes(myResponseBody))); }
private void PushValuesToClients() { ValuesPusherComet.SetEvent(new List <BaseObject>(_changedValues)); _changedValues.Clear(); }