internal AzureStorageQueueInfrastructure(SettingsHolder settings, string connectionString) { this.settings = settings; this.connectionString = connectionString; settings.SetDefault(WellKnownConfigurationKeys.DelayedDelivery.EnableTimeoutManager, true); if (!settings.IsFeatureEnabled(typeof(TimeoutManager)) || settings.GetOrDefault <bool>("Endpoint.SendOnly")) { // TimeoutManager is already not used. Indicate to Native Delayed Delivery that we're not in the hybrid mode. settings.Set(WellKnownConfigurationKeys.DelayedDelivery.EnableTimeoutManager, false); } delayedDelivery = new NativeDelayDelivery(connectionString, GetDelayedDeliveryTableName(settings), settings.GetOrDefault <bool>(WellKnownConfigurationKeys.DelayedDelivery.DisableDelayedDelivery)); addressGenerator = new QueueAddressGenerator(settings.GetOrDefault <Func <string, string> >(WellKnownConfigurationKeys.QueueSanitizer)); }
internal AzureStorageQueueInfrastructure(SettingsHolder settings, string connectionString) { this.settings = settings; this.connectionString = connectionString; serializer = BuildSerializer(settings); var timeoutManagerFeatureDisabled = settings.GetOrDefault <FeatureState>(typeof(TimeoutManager).FullName) == FeatureState.Disabled; var sendOnlyEndpoint = settings.GetOrDefault <bool>("Endpoint.SendOnly"); if (timeoutManagerFeatureDisabled || sendOnlyEndpoint) { // TimeoutManager is already not used. Indicate to Native Delayed Delivery that we're not in the hybrid mode. settings.Set(WellKnownConfigurationKeys.DelayedDelivery.DisableTimeoutManager, true); } delayedDelivery = new NativeDelayDelivery(connectionString, GetDelayedDeliveryTableName(settings)); addressGenerator = new QueueAddressGenerator(settings.GetOrDefault <Func <string, string> >(WellKnownConfigurationKeys.QueueSanitizer)); }
public override TransportSendInfrastructure ConfigureSendInfrastructure() { return(new TransportSendInfrastructure(BuildDispatcher, () => Task.FromResult(NativeDelayDelivery.CheckForInvalidSettings(settings)))); }