예제 #1
0
        override protected FindResponse Find()
        {
            ServiceBusDiscoveryClient discoveryClient = new ServiceBusDiscoveryClient(m_ServiceNamespace, m_Secret);
            FindCriteria criteria = new FindCriteria(typeof(T));
            FindResponse response = discoveryClient.Find(criteria);

            discoveryClient.Close();
            return(response);
        }
예제 #2
0
        string[] DiscoverServiceBusMexAddresses(string serviceNamespace)
        {
            NetOnewayRelayBinding binding = new NetOnewayRelayBinding();

            if (m_DisoveryPaths.ContainsKey(serviceNamespace) == false)
            {
                m_DisoveryPaths[serviceNamespace] = DiscoverableServiceHost.DiscoveryPath;
            }
            EndpointAddress address = new EndpointAddress(ServiceBusEnvironment.CreateServiceUri("sb", serviceNamespace, m_DisoveryPaths[serviceNamespace]));

            ServiceBusDiscoveryClient discoveryClient = new ServiceBusDiscoveryClient(binding, address);
            IServiceBusProperties     properties      = discoveryClient as IServiceBusProperties;

            properties.Credential = m_NamespaceCredentials[serviceNamespace];

            FindResponse discovered = discoveryClient.Find(FindCriteria.CreateMetadataExchangeEndpointCriteria());

            return(discovered.Endpoints.Select(mexEndpoint => mexEndpoint.Address.Uri.AbsoluteUri).ToArray());
        }
예제 #3
0
      string[] DiscoverServiceBusMexAddresses(string serviceNamespace)
      {
         NetOnewayRelayBinding binding = new NetOnewayRelayBinding();
         if(m_DisoveryPaths.ContainsKey(serviceNamespace) == false)
         {
            m_DisoveryPaths[serviceNamespace] = DiscoverableServiceHost.DiscoveryPath;
         }
         EndpointAddress address = new EndpointAddress(ServiceBusEnvironment.CreateServiceUri("sb",serviceNamespace,m_DisoveryPaths[serviceNamespace]));

         ServiceBusDiscoveryClient discoveryClient = new ServiceBusDiscoveryClient(binding,address);
         TransportClientEndpointBehavior creds = new TransportClientEndpointBehavior(m_NamespaceCredentials[serviceNamespace]);

         IServiceBusProperties properties = discoveryClient as IServiceBusProperties;
         properties.Credential = creds;

         FindResponse discovered = discoveryClient.Find(FindCriteria.CreateMetadataExchangeEndpointCriteria());

         return discovered.Endpoints.Select(mexEndpoint => mexEndpoint.Address.Uri.AbsoluteUri).ToArray();
      }