示例#1
0
        public void Can_get_path_variable()
        {
            var bus      = new BusElement();
            var expected = @"folder\app\one_way";

            bus.Path = @"folder\app";

            Assert.Equal(expected + ".esent", bus.QueuePath);
            Assert.Equal(expected + "_subscriptions.esent", bus.SubscriptionPath);
        }
示例#2
0
        public void Can_get_path_variable_replacement()
        {
            var bus      = new BusElement();
            var expected = Path.Combine(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "app"), "one_way");

            bus.Path = @"%APPDATA%\app";

            Assert.Equal(expected + ".esent", bus.QueuePath);
            Assert.Equal(expected + "_subscriptions.esent", bus.SubscriptionPath);
        }
示例#3
0
        protected override void ApplyConfiguration()
        {
            BusElement busConfig = ConfigurationSection.Bus;

            if (busConfig == null)
            {
                throw new ConfigurationErrorsException("Could not find 'bus' node in configuration");
            }

            if (busConfig.NumberOfRetries.HasValue)
            {
                NumberOfRetries = busConfig.NumberOfRetries.Value;
            }

            if (busConfig.ThreadCount.HasValue)
            {
                ThreadCount = busConfig.ThreadCount.Value;
            }

            string isolationLevel = busConfig.QueueIsolationLevel;

            if (!string.IsNullOrEmpty(isolationLevel))
            {
                queueIsolationLevel = (IsolationLevel)Enum.Parse(typeof(IsolationLevel), isolationLevel);
            }

            if (busConfig.ConsumeInTransaction.HasValue)
            {
                consumeInTxn = busConfig.ConsumeInTransaction.Value;
            }

            string uriString = busConfig.Endpoint;
            Uri    endpoint;

            if (Uri.TryCreate(uriString, UriKind.Absolute, out endpoint) == false)
            {
                throw new ConfigurationErrorsException(
                          "Attribute 'endpoint' on 'bus' has an invalid value '" + uriString + "'");
            }
            Endpoint = endpoint;

            string transactionalString = busConfig.Transactional;

            bool temp;

            if (bool.TryParse(transactionalString, out temp))
            {
                Transactional = temp ? TransactionalOptions.Transactional : TransactionalOptions.NonTransactional;
            }
            else if (transactionalString != null)
            {
                throw new ConfigurationErrorsException(
                          "Attribute 'transactional' on 'bus' has an invalid value '" + transactionalString + "'");
            }
        }