コード例 #1
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;

            return(new QueueSendSettings(queueDescription));
        }
コード例 #2
0
        public SendSettings GetDeadLetterSettings(ISubscriptionConfigurator configurator, string basePath)
        {
            var description = configurator.GetSubscriptionDescription();

            basePath = basePath.Trim('/');

            var path      = description.Name + DeadLetterQueueSuffix;
            var queuePath = string.IsNullOrEmpty(basePath) ? path : $"{basePath}/{path.Trim('/')}";

            var queueDescription = Defaults.CreateQueueDescription(queuePath);

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

            return(new QueueSendSettings(queueDescription));
        }
コード例 #3
0
        public SendSettings GetErrorSettings(ISubscriptionConfigurator configurator, Uri hostAddress)
        {
            var description = configurator.GetSubscriptionDescription();

            var errorEndpointAddress = new ServiceBusEndpointAddress(hostAddress, description.SubscriptionName + ErrorQueueSuffix);

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

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

            var errorSettings = new QueueSendSettings(queueDescription);

            ConfigureErrorSettings?.Invoke(errorSettings);

            return(errorSettings);
        }