public void Subscribe(string clientId) { var callBack = OperationContext.Current.GetCallbackChannel <IMessageCallBack>(); MessageServiceManager.AddSubscriber(clientId, callBack); var obj = (ICommunicationObject)callBack; obj.Closing += Callback_Closing; }
private void Callback_Closing(object sender, EventArgs e) { var callBack = sender as IMessageCallBack; if (callBack == null) { return; } MessageServiceManager.RemoveSubscriber(callBack); }
void RefreshServiceStatus(object state) { var subscriberList = MessageServiceManager.GetSubscriberList(); Invoke(new Action(() => { lstClientList.Items.Clear(); lstClientList.Items.AddRange(subscriberList.ToArray()); })); _ServiceTimer.Change(1000 * 3, Timeout.Infinite); }
private void btnSendMessage_Click(object sender, EventArgs e) { var selectedItem = lstClientList.SelectedItem; if (selectedItem == null) { MessageBox.Show("请选择需要客户端"); return; } if (string.IsNullOrEmpty(txtMessage.Text)) { MessageBox.Show("请输入消息内容"); return; } var message = new MessageEntity { Receiver = selectedItem.ToString(), MessageType = MessageTypes.Default, Content = txtMessage.Text, }; MessageServiceManager.PushMessage(message); }
public MessageController(IServiceBase serviceBase) { this.messagingService = MessageServiceManager.GetMessagingService(); }
public string PushMessageNeedBack(MessageEntity message) { return(MessageServiceManager.GetData(message)); }
public void PushMessage(MessageEntity message) { MessageServiceManager.PushMessage(message); }
public void Unsubscribe(string clientId) { MessageServiceManager.RemoveSubscriber(clientId); }