public bool Join(bool state, string name, int Channel) { lock (syncObj) { callback = OperationContext.Current.GetCallbackChannel <IAiServiceCallback>(); if (name.Equals("Ai")) { MyAiDel = new AiMsgDel(AiHandlerManager); AiList += MyAiDel; return(true); } else if (name.Equals("Nothing")) { return(false); } MyDeviceDel = new DeviceData(new DeviceDel(AiHandler), state, name, Channel); DeviceList.Add(MyDeviceDel); Console.WriteLine("입장" + name); } return(true); }
private void EndAsyncManager(IAsyncResult ar) { AiMsgDel d = null; try { System.Runtime.Remoting.Messaging.AsyncResult asres = (System.Runtime.Remoting.Messaging.AsyncResult)ar; d = ((AiMsgDel)asres.AsyncDelegate); d.EndInvoke(ar); } catch { DeviceList.Remove(MyDeviceDel); } }