コード例 #1
0
        public override TransportSendInfrastructure ConfigureSendInfrastructure()
        {
            var connectionFactory = CreateConnectionFactory();

            settings.GetOrCreate <EndpointInstances>().AddOrReplaceInstances("SqlServer", schemaAndCatalogSettings.ToEndpointInstances());

            return(new TransportSendInfrastructure(
                       () =>
            {
                ITableBasedQueueOperationsReader queueOperationsReader = new TableBasedQueueOperationsReader(addressTranslator);
                if (delayedDeliverySettings != null)
                {
                    queueOperationsReader = new DelayedDeliveryTableBasedQueueOperationsReader(CreateDelayedMessageTable(), queueOperationsReader);
                }
                var dispatcher = new MessageDispatcher(new TableBasedQueueDispatcher(connectionFactory, queueOperationsReader), addressTranslator);
                return dispatcher;
            },
                       () =>
            {
                var result = UsingV2ConfigurationChecker.Check();
                if (result.Succeeded && delayedDeliverySettings != null)
                {
                    result = DelayedDeliveryInfrastructure.CheckForInvalidSettings(settings);
                }
                return Task.FromResult(result);
            }));
        }
        public override TransportSendInfrastructure ConfigureSendInfrastructure()
        {
            var connectionFactory = CreateLegacyConnectionFactory();

            settings.GetOrCreate <EndpointInstances>().AddOrReplaceInstances("SqlServer", schemaAndCatalogSettings.ToEndpointInstances());
            return(new TransportSendInfrastructure(
                       () => new LegacyMessageDispatcher(addressTranslator, connectionFactory),
                       () =>
            {
                var result = UsingV2ConfigurationChecker.Check();
                return Task.FromResult(result);
            }));
        }
コード例 #3
0
        public override TransportSendInfrastructure ConfigureSendInfrastructure()
        {
            var connectionFactory = CreateConnectionFactory();

            settings.Get <EndpointInstances>().AddOrReplaceInstances("SqlServer", endpointSchemasSettings.ToEndpointInstances());

            return(new TransportSendInfrastructure(
                       () => new MessageDispatcher(new TableBasedQueueDispatcher(connectionFactory), addressParser),
                       () =>
            {
                var result = UsingV2ConfigurationChecker.Check();
                return Task.FromResult(result);
            }));
        }