示例#1
0
        public void Subscribe(string p_id)
        {
            try
            {
                NvsService_Callback _NvsService_Callback = OperationContext.Current.GetCallbackChannel <NvsService_Callback>();

                lock (DBMemory.c_object_lock)
                {
                    //remove the old client
                    if (DBMemory.c_dic_identifi_callback_client.ContainsKey(p_id))
                    {
                        DBMemory.c_dic_identifi_callback_client.Remove(p_id);
                    }

                    DBMemory.c_dic_identifi_callback_client.Add(p_id, _NvsService_Callback);

                    NaviCommon.Common.log.Error("Client " + p_id + " Subscribe");
                }

                if (DBMemory.c_dic_User_Interface.ContainsKey(p_id))
                {
                    DBMemory.c_dic_User_Interface[p_id].c_User_Info.Online_Status = (int)Enum_Session_Status.LogIn;
                }
            }
            catch (Exception ex)
            {
                NaviCommon.Common.log.Error(ex.ToString());
            }
        }
示例#2
0
        /// <summary>
        /// Gửi dữ liệu tới 1 Identify
        /// </summary>
        /// <param name="p_id">Identify muốn gửi</param>
        /// <param name="p_data">Dữ liệu muốn gửi</param>
        public void Push_By_Identify(string p_id, Message_Info p_data)
        {
            try
            {
                if (DBMemory.c_dic_identifi_callback_client.ContainsKey(p_id))
                {
                    NvsService_Callback _item = DBMemory.c_dic_identifi_callback_client[p_id];
                    _item.PushMessage(p_data);
                    p_data.Status = (int)Enum_Message_Status.OK;
                }
                else
                {
                    p_data.Status = (int)Enum_Message_Status.Not_OK;
                }

                p_data.Type = (int)Enum_Message_Type.Receive;
                _lst_Recieve.Add(p_data);
            }
            catch (Exception ex)
            {
                NaviCommon.Common.log.Error(ex.ToString());
            }
        }