public NamespaceInfo(string alias, string connectionString, NamespacePurpose purpose = NamespacePurpose.Partitioning)
        {
            if (string.IsNullOrWhiteSpace(alias))
            {
                throw new ArgumentException("Namespace alias can't be null or empty", nameof(alias));
            }

            if (string.IsNullOrWhiteSpace(connectionString))
            {
                throw new ArgumentException("Namespace connection string can't be null or empty", nameof(connectionString));
            }

            Alias            = alias;
            ConnectionString = new ConnectionString(connectionString);
            Purpose          = purpose;
        }
        /// <summary></summary>
        public NamespaceInfo(string alias, string connectionString, NamespacePurpose purpose = NamespacePurpose.Partitioning)
        {
            if (string.IsNullOrWhiteSpace(alias))
            {
                throw new ArgumentException("Namespace alias can't be null or empty", nameof(alias));
            }

            if (string.IsNullOrWhiteSpace(connectionString))
            {
                throw new ArgumentException("Namespace connection string can't be null or empty", nameof(connectionString));
            }

            Alias = alias;
            this.connectionString = new ConnectionStringInternal(connectionString);
            Purpose             = purpose;
            RegisteredEndpoints = new HashSet <string>(StringComparer.OrdinalIgnoreCase);
        }
Пример #3
0
        public void Add(string alias, string connectionString, NamespacePurpose purpose)
        {
            var definition = new NamespaceInfo(alias, connectionString, purpose);

            var namespaceInfo = inner.SingleOrDefault(x => x.ConnectionString == definition.ConnectionString);

            if (namespaceInfo != null)
            {
                Log.Info($"Duplicated connection string for namespace `{namespaceInfo.Alias}` and alias `{alias}.`  + {Environment.NewLine} + `{alias}` namespace alias was not registered.");
                return;
            }

            if (inner.Any(x => string.Equals(x.Alias, alias, StringComparison.OrdinalIgnoreCase)))
            {
                Log.Info($"Duplicated namespace alias `{alias}` configuration detected. Registered only once");
                return;
            }

            inner.Add(definition);
        }
Пример #4
0
 /// <summary></summary>
 public RuntimeNamespaceInfo(string alias, string connectionString, NamespacePurpose purpose = NamespacePurpose.Partitioning, NamespaceMode mode = NamespaceMode.Active)
 {
     info = new NamespaceInfo(alias, connectionString, purpose);
     Mode = mode;
 }