public void Subscribe(string username) { var callback = OperationContext.Current.GetCallbackChannel<IMessageReceivedChannel>(); _consumers = callback; var client = new CentralServiceClient(new InstanceContext(new RegisterUser())); User self; User[] members = client.LogOn(out self, "Sports", username); //foreach(var member in members.Select(p => new ChatServiceClient(new InstanceContext(callback), // new WSDualHttpBinding(), // new EndpointAddress(p.ChatService)))) //{ // _chatMembers.AddLast(member); //} _user = self; client.Close(); }
public void Unsubscribe() { _clientCallback = null; try { _client.LogOff(_theme, _user.Id); } catch(CommunicationException) { _client = new CentralServiceClient(new InstanceContext(new RegisterUser(_chatMembers))); _client.LogOff(_theme, _user.Id); } _client.Close(); }