コード例 #1
0
 private void Upload(List <SampleCode> codes)
 {
     try
     {
         using (ServiceStack.Redis.RedisClient client = new ServiceStack.Redis.RedisClient(_ip, _port))
         {
             if (client.Ping())
             {
                 //using (var trans = client.CreatePipeline())
                 //{
                 //    for (int i = 0; i < codes.Count; i++)
                 //    {
                 //        String value = Newtonsoft.Json.JsonConvert.SerializeObject(codes[i]);
                 //        trans.QueueCommand(r => r.AddItemToList(_Channel, value));
                 //    }
                 //    trans.Flush();
                 //}
                 for (int i = 0; i < codes.Count; i++)
                 {
                     HNCAPI.Data.HncMessage <SampleCode> msg = new HncMessage <SampleCode>();
                     msg.Header = "SampleData";
                     msg.Body   = codes[i];
                     String message = Newtonsoft.Json.JsonConvert.SerializeObject(msg);
                     client.PublishMessage(_Channel, message);
                 }
             }
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine("publish Upload:" + ex.Message);
     }
 }
コード例 #2
0
 public void CancelToolBroken(bool bIsTrueBroken)
 {
     try
     {
         if (this._info != null)
         {
             String Redisip   = System.Configuration.ConfigurationManager.AppSettings["RedisUri"];
             Int32  Redisport = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["RedisPort_RealTime"]);
             ServiceStack.Redis.RedisClient client = new ServiceStack.Redis.RedisClient(Redisip, Redisport);
             client.Db = this._CloudDB;
             HncMessage <ToolBrokenInfo> toolinfo = new HncMessage <ToolBrokenInfo>();
             toolinfo.Header = "ToolBrokenFeedBack";
             _info.IsBroken  = bIsTrueBroken;
             toolinfo.Body   = _info;
             String msg = Newtonsoft.Json.JsonConvert.SerializeObject(toolinfo);
             client.Set <String>("ToolBrokenFeedBack", msg);
             _info = null;
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine("CancelToolBroken:" + ex.Message);
     }
     HncApi.HNC_RegClrBit((int)HncRegType.REG_TYPE_G, 2626, 0, _ClientNo);
     HncApi.HNC_RegClrBit((int)HncRegType.REG_TYPE_G, 3013, 15, _ClientNo);
 }
コード例 #3
0
        private void Subscribe()
        {
            try
            {
                var channelName = MachineSN;
                _Client = new RedisClient(_ip, _port);

                using (var subscription = _Client.CreateSubscription())
                {
                    subscription.OnSubscribe = channel =>
                    {
                    };
                    subscription.OnUnSubscribe = channel =>
                    {
                    };
                    subscription.OnMessage = (channel, msg) =>
                    {
                        try
                        {
                            int      index1    = msg.IndexOf(',');
                            String   Header    = msg.Substring(1, index1 - 1);
                            String[] HeaderArr = Header.Split(':');
                            if (HeaderArr.Length != 2)
                            {
                                return;
                            }
                            String ValueStr = HeaderArr[1].Trim('\"');

                            switch (ValueStr)
                            {
                            case "ToolBroken":
                            {
                                HncMessage <HNCAPI.Data.ToolBrokenInfo> tmes = Newtonsoft.Json.JsonConvert.DeserializeObject <HncMessage <HNCAPI.Data.ToolBrokenInfo> >(msg);
                                if (OnToolBroken != null)
                                {
                                    OnToolBroken(tmes.Body);
                                }
                            }
                            break;

                            case "Sample":
                            {
                                HncMessage <SampleMessge> SampleMsg = Newtonsoft.Json.JsonConvert.DeserializeObject <HncMessage <SampleMessge> >(msg);
                                if (OnSubScribeSampleData != null)
                                {
                                    OnSubScribeSampleData(SampleMsg.Body);
                                }
                            }
                            break;

                            case "HealthData":
                            {
                                HncMessage <HealthData> SampleMsg = Newtonsoft.Json.JsonConvert.DeserializeObject <HncMessage <HealthData> >(msg);
                                if (OnHealthData != null)
                                {
                                    OnHealthData(SampleMsg.Body);
                                }


                                break;
                            }
                            }
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine("Subscribe" + ex.Message);
                        }
                    };
                    subscription.SubscribeToChannels(channelName); //blocking
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Subscribe" + ex.Message);

                this.Start();
            }
        }