Task <ISendEndpoint> GetSchedulerEndpoint(Uri destinationAddress)
        {
            var destinationSettings = _topology.GetSendSettings(destinationAddress);

            var topicName    = destinationSettings.EntityName;
            var sendSettings = new QueueSendSettings(topicName, destinationSettings.Durable, destinationSettings.AutoDelete);

            var delayExchangeAddress = sendSettings.GetSendAddress(_hostAddress);

            return(_sendEndpointProvider.GetSendEndpoint(delayExchangeAddress));
        }
Ejemplo n.º 2
0
        public SendSettings GetDeadLetterSettings(IQueueConfigurator configurator)
        {
            var description = configurator.GetQueueDescription();

            description.Path += DeadLetterQueueSuffix;

            var deadLetterSetting = new QueueSendSettings(description);

            ConfigureDeadLetterSettings?.Invoke(deadLetterSetting);

            return(deadLetterSetting);
        }
Ejemplo n.º 3
0
        public SendSettings GetErrorSettings(IQueueConfigurator configurator)
        {
            var description = configurator.GetQueueDescription();

            description.Path += ErrorQueueSuffix;

            var errorSettings = new QueueSendSettings(description);

            ConfigureErrorSettings?.Invoke(errorSettings);

            return(errorSettings);
        }
Ejemplo n.º 4
0
        public SendSettings GetDeadLetterSettings(ISubscriptionConfigurator configurator, Uri hostAddress)
        {
            var description = configurator.GetSubscriptionDescription();

            var deadLetterEndpointAddress = new ServiceBusEndpointAddress(hostAddress, description.SubscriptionName + DeadLetterQueueSuffix);

            var queueDescription = Defaults.CreateQueueDescription(deadLetterEndpointAddress.Path);

            queueDescription.DefaultMessageTimeToLive = description.DefaultMessageTimeToLive;
            queueDescription.AutoDeleteOnIdle         = description.AutoDeleteOnIdle;

            var deadLetterSetting = new QueueSendSettings(queueDescription);

            ConfigureDeadLetterSettings?.Invoke(deadLetterSetting);

            return(deadLetterSetting);
        }