Пример #1
0
 public void RegisterClient(string clientName)
 {
     if (clientName != null && clientName != "")
     {
         try
         {
             IServiceCallBack callback = OperationContext.Current.GetCallbackChannel <IServiceCallBack>();
             lock (locker)
             {
                 //remove the old client
                 if (clients.Keys.Contains(clientName))
                 {
                     clients.Remove(clientName);
                 }
                 clients.Add(clientName, callback);
                 this.NotifyServer(new EventDataType()
                 {
                     ClientName = clientName, EventMessage = "NewMemberArrived"
                 });
             }
         }
         catch (Exception)
         {
         }
     }
 }
 public void Add(string username, IServiceCallBack channel)
 {
     if (!userChannels.ContainsKey(username) &&
         !userChannels.ContainsValue(channel))
     {
         userChannels.Add(username, channel);
     }
 }
 public bool Exists(IServiceCallBack channel)
 {
     bool flag = false;
     lock (userChannels)
     {
         foreach (var item in userChannels)
         {
             if (item.Value.Equals(channel))
             {
                 flag = true;
                 break;
             }
         }
     }
     return flag;
 }
Пример #4
0
 //Callbacks and Server Notification
 #region
 public void RegisterClient(long clientId)
 {
     if (clientId > 0)
     {
         try
         {
             IServiceCallBack callback =
                 OperationContext.Current.GetCallbackChannel <IServiceCallBack>();
             lock (locker)
             {
                 //remove the old client
                 if (clients.Keys.Contains(clientId))
                 {
                     clients.Remove(clientId);
                 }
                 clients.Add(clientId, callback);
             }
         }
         catch (Exception ex)
         {
         }
     }
 }