コード例 #1
0
ファイル: ValuesPusher.cs プロジェクト: kib357/Ester2
 public static void SetEvent(UpdateInfo info)
 {
     lock (typeof(ValuesPusherComet))
     {
         foreach (var valuesPusher in ClientList)
         {
             valuesPusher.Value.SetEvent(info);
         }
     }
 }
コード例 #2
0
ファイル: ValuesPusher.cs プロジェクト: kib357/Ester2
        public Stream GetChanges()
        {
            var arg = new UpdateInfo();
            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));
        }
コード例 #3
0
ファイル: ValuesPusher.cs プロジェクト: kib357/Ester2
 internal void SetEvent(UpdateInfo message)
 {
     _message = message;
     _ev.Set();
 }
コード例 #4
0
ファイル: ValuesLongPull.cs プロジェクト: kib357/Ester2
 private static void OnValuesChangedEvent(UpdateInfo updateInfo)
 {
     ValuesChangedHandler handler = ValuesChangedEvent;
     if (handler != null) handler(updateInfo);
 }