Beispiel #1
0
        public void Configure(RequestExecutorFactoryOptions options)
        {
            if (options is null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            _configure(options);
        }
        public async ValueTask <RequestExecutorFactoryOptions> GetAsync(
            NameString schemaName,
            CancellationToken cancellationToken = default)
        {
            await InitializeAsync(cancellationToken).ConfigureAwait(false);

            RequestExecutorFactoryOptions options = _optionsMonitor.Get(schemaName);

            if (_options.TryGetValue(schemaName, out INamedRequestExecutorFactoryOptions? o))
            {
                o.Configure(options);
            }

            return(options);
        }
        private void OnChange(INamedRequestExecutorFactoryOptions changes)
        {
            _options[changes.SchemaName] = changes;

            RequestExecutorFactoryOptions options = _optionsMonitor.Get(changes.SchemaName);

            changes.Configure(options);

            lock (_listeners)
            {
                foreach (Action <RequestExecutorFactoryOptions, string> listener in _listeners)
                {
                    listener.Invoke(options, changes.SchemaName);
                }
            }
        }