Example #1
0
        public async Task OpenAsync(string correlationId)
        {
            var connections = await _connectionResolver.ResolveAllAsync(correlationId);

            if (connections.Count == 0)
            {
                throw new ConfigException(correlationId, "NO_CONNECTION", "Connection is not configured");
            }

            var options = new MemcachedClientConfiguration();

            foreach (var connection in connections)
            {
                var uri = connection.Uri;

                if (!string.IsNullOrEmpty(uri))
                {
                    options.AddServer(uri, 11211);
                }
                else
                {
                    var host = connection.Host ?? "localhost";
                    var port = connection.Port != 0 ? connection.Port : 11211;

                    options.AddServer(host, port);
                }
            }

            _client = new MemcachedClient(null, options);
        }
Example #2
0
        /// <summary>
        /// Resolves SqlServer connection string from connection and credential parameters.
        /// </summary>
        /// <param name="correlationId">(optional) transaction id to trace execution through call chain.</param>
        /// <returns>resolved connection string.</returns>
        public async Task <string> ResolveAsync(string correlationId)
        {
            var connections = await _connectionResolver.ResolveAllAsync(correlationId);

            var credential = await _credentialResolver.LookupAsync(correlationId);

            ValidateConnections(correlationId, connections);

            return(ComposeUri(connections, credential));
        }
        /// <summary>
        /// Resolves all component connection. If connections are configured to be
        /// retrieved from Discovery service it finds a IDiscovery and resolves the connection there.
        /// </summary>
        /// <param name="correlationId">(optional) transaction id to trace execution through call chain.</param>
        /// <returns>resolved connections.</returns>
        public async Task <List <ConnectionParams> > ResolveAllAsync(string correlationId)
        {
            var connections = await _connectionResolver.ResolveAllAsync(correlationId);

            foreach (var connection in connections)
            {
                ValidateConnection(correlationId, connection);
                UpdateConnection(connection);
            }
            return(connections);
        }
Example #4
0
        /// <summary>
        /// Opens the component.
        /// </summary>
        /// <param name="correlationId">(optional) transaction id to trace execution through call chain.</param>
        public async virtual Task OpenAsync(string correlationId)
        {
            var connections = await _connectionResolver.ResolveAllAsync(correlationId);

            if (connections.Count == 0)
            {
                throw new ConfigException(correlationId, "NO_CONNECTION", "Connection parameters are not set");
            }

            var credential = await _credentialResolver.LookupAsync(correlationId);

            await OpenAsync(correlationId, connections, credential);
        }
Example #5
0
        /// <summary>
        /// Resolves NATS connection options from connection and credential parameters.
        /// </summary>
        /// <param name="correlationId">(optional) transaction id to trace execution through call chain.</param>
        /// <returns>Composed connection parameters</returns>
        public async Task <ConfigParams> ResolveAsync(string correlationId)
        {
            var connections = await _connectionResolver.ResolveAllAsync(correlationId);

            var credential = await _credentialResolver.LookupAsync(correlationId);

            // Validate connections
            foreach (var connection in connections)
            {
                ValidateConnection(correlationId, connection);
            }

            var options = ComposeOptions(connections, credential);

            return(options);
        }