public AzureServiceBusRelayEventStoreProxy(string serviceNamespace, string servicePath, string keyName, string sharedAccessKey, NetTcpRelayBinding netTcpRelayBinding = null) { var uri = ServiceBusEnvironment.CreateServiceUri("sb", serviceNamespace, servicePath); _logger.Info("Initializing event store facade for {0}", uri); var binding = netTcpRelayBinding ?? BindingHelper.CreateDefaultRelayBinding(); _channelFactory = new ChannelFactory <IHostService>(binding, new EndpointAddress(uri)); var tokenProvider = TokenProvider.CreateSharedAccessSignatureTokenProvider(keyName, sharedAccessKey); var endpointBehavior = new TransportClientEndpointBehavior(tokenProvider); _channelFactory.Endpoint.Behaviors.Add(endpointBehavior); }
public AzureServiceBusRelayEventDispatcher(IEventStore eventStore, string serviceNamespace, string path, string keyName, string sharedAccessKey, NetTcpRelayBinding netTcpRelayBinding = null) { var uri = ServiceBusEnvironment.CreateServiceUri("sb", serviceNamespace, path); _logger.Info("Initializing service bus relay host for {0}", uri); _serviceHost = new ServiceHost(new HostService(eventStore)); var binding = netTcpRelayBinding ?? BindingHelper.CreateDefaultRelayBinding(); var tokenProvider = TokenProvider.CreateSharedAccessSignatureTokenProvider(keyName, sharedAccessKey); var endpoint = _serviceHost.AddServiceEndpoint(typeof(IHostService), binding, uri); var endpointBehavior = new TransportClientEndpointBehavior(tokenProvider); endpoint.Behaviors.Add(endpointBehavior); }