示例#1
0
        T[] GetSubscribers()
        {
            IEnumerable <string> announcedAddress  = AnnouncedSubscribers.FindComplement(Scope).Select((address) => address.Uri.AbsoluteUri);
            IEnumerable <string> discoveredAddress = DiscoveredServices.FindComplement(Scope).Select((address) => address.Uri.AbsoluteUri);

            IEnumerable <string> addresses = announcedAddress.Union(discoveredAddress);

            List <T> subscribers = new List <T>();

            foreach (string address in addresses)
            {
                EndpointAddress endpointAddress = new EndpointAddress(address);
                Binding         binding         = GetBindingFromAddress(endpointAddress);
                T proxy = ChannelFactory <T> .CreateChannel(binding, endpointAddress);

                subscribers.Add(proxy);
            }
            return(subscribers.ToArray());
        }