protected override void Setup(FeatureConfigurationContext context) { var configuredQueueName = DetermineStorageQueueName(context.Settings); context.Settings.Get <QueueBindings>().BindSending(configuredQueueName); var transportSettings = context.Settings.Get <TransportDefinition>() as MsmqTransport; var queue = new MsmqSubscriptionStorageQueue(MsmqAddress.Parse(configuredQueueName), transportSettings.UseTransactionalQueues); var storage = new MsmqSubscriptionStorage(queue); context.Services.AddSingleton <ISubscriptionStorage>(storage); }
protected override void Setup(FeatureConfigurationContext context) { var configuredQueueName = DetermineStorageQueueName(context.Settings); context.Settings.Get <QueueBindings>().BindSending(configuredQueueName); var msmqSettings = new MsmqSettings(context.Settings); context.Container.ConfigureComponent(b => { var queue = new MsmqSubscriptionStorageQueue(MsmqAddress.Parse(configuredQueueName), msmqSettings.UseTransactionalQueues); return(new MsmqSubscriptionStorage(queue)); }, DependencyLifecycle.SingleInstance); }