Inheritance: System.Data.Common.DbConnectionStringBuilder
        public override TransportSendInfrastructure ConfigureSendInfrastructure()
        {
            new CheckMachineNameForComplianceWithDtcLimitation().Check();

            Func <IReadOnlyDictionary <string, string>, string> getMessageLabel;

            settings.TryGet("Msmq.GetMessageLabel", out getMessageLabel);

            Func <IReadOnlyDictionary <string, string>, string> messageLabelGenerator;

            if (!settings.TryGet("msmqLabelGenerator", out messageLabelGenerator))
            {
                messageLabelGenerator = headers => string.Empty;
            }

            var builder = new MsmqConnectionStringBuilder(connectionString).RetrieveSettings();

            return(new TransportSendInfrastructure(
                       () => new MsmqMessageDispatcher(builder, messageLabelGenerator),
                       () =>
            {
                var bindings = settings.Get <QueueBindings>();

                foreach (var address in bindings.SendingAddresses)
                {
                    QueuePermissions.CheckQueue(address);
                }

                var result = new MsmqTimeToBeReceivedOverrideCheck(settings).CheckTimeToBeReceivedOverrides();
                return Task.FromResult(result);
            }));
        }