Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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();
        }