public ConnectionString(string connectionStringValue)
{
if (connectionStringValue == null)
{
throw new ArgumentNullException(nameof(connectionStringValue));
}
var keyValuePairs = connectionStringValue.Split(';');
foreach (var keyValuePair in keyValuePairs)
{
if (string.IsNullOrWhiteSpace(keyValuePair)) continue;
var keyValueParts = keyValuePair.Split('=');
if (keyValueParts.Length != 2)
{
throw new Exception($"Invalid connection string element: '{keyValuePair}' should be 'key=value'");
}
_parametersDictionary.Add(keyValueParts[0].ToLower(), keyValueParts[1]);
}
Port = int.Parse(GetValue("port", "5672"));
Host = GetValue("host", "localhost");
VirtualHost = GetValue("virtualHost", "/");
UserName = GetValue("username", "guest");
Password = GetValue("password", "guest");
if (Host.Contains(":"))
{
var index = Host.IndexOf(":", StringComparison.Ordinal);
Port = int.Parse(Host.Substring(index + 1));
Host = Host.Substring(0, index);
}
}
/// <summary>