public ConnectionConfiguration Parse(string connectionString) { ConnectionString = connectionString; connectionConfiguration = new ConnectionConfiguration(); foreach (var pair in (from property in typeof(ConnectionConfiguration).GetProperties() let match = Regex.Match(connectionString, string.Format("[^\\w]*{0}=(?<{0}>[^;]+)", property.Name), RegexOptions.IgnoreCase) where match.Success select new { Property = property, match.Groups[property.Name].Value })) pair.Property.SetValue(connectionConfiguration, TypeDescriptor.GetConverter(pair.Property.PropertyType).ConvertFromString(pair.Value), null); if (ContainsKey("host")) { connectionConfiguration.ParseHosts(this["host"] as string); } if (settings.HasSetting("Endpoint.DurableMessages")) { connectionConfiguration.UsePublisherConfirms = settings.GetOrDefault<bool>("Endpoint.DurableMessages"); } connectionConfiguration.ClientProperties["endpoint_name"] = settings.GetOrDefault<string>("EndpointName"); connectionConfiguration.Validate(); return connectionConfiguration; }
public RabbitMqConnectionFactory(ConnectionConfiguration connectionConfiguration) { if (connectionConfiguration == null) { throw new ArgumentNullException("connectionConfiguration"); } if (connectionConfiguration.HostConfiguration == null) { throw new ArgumentException( "The connectionConfiguration has a null HostConfiguration.", "connectionConfiguration"); } Configuration = connectionConfiguration; connectionFactory = new ConnectionFactory { HostName = connectionConfiguration.HostConfiguration.Host, Port = connectionConfiguration.HostConfiguration.Port, VirtualHost = Configuration.VirtualHost, UserName = Configuration.UserName, Password = Configuration.Password, RequestedHeartbeat = Configuration.RequestedHeartbeat, ClientProperties = Configuration.ClientProperties }; }
public IConnectionConfiguration Parse(string connectionString) { ConnectionString = connectionString; connectionConfiguration = new ConnectionConfiguration(); foreach (var pair in (from property in typeof(ConnectionConfiguration).GetProperties() let match = Regex.Match(connectionString, string.Format("[^\\w]*{0}=(?<{0}>[^;]+)", property.Name), RegexOptions.IgnoreCase) where match.Success select new { Property = property, match.Groups[property.Name].Value })) pair.Property.SetValue(connectionConfiguration, TypeDescriptor.GetConverter(pair.Property.PropertyType).ConvertFromString(pair.Value), null); if (ContainsKey("host")) { connectionConfiguration.ParseHosts(this["host"] as string); } connectionConfiguration.Validate(); return connectionConfiguration; }