Beispiel #1
0
        => _cache.GetAsync(forceRefresh: false, cancellationToken: cancellationToken);     // prevent users from forcing refresh

        private async Task <T> ResolveAsync(CancellationToken cancellationToken = default)
        {
            SchemaVersion version = await _schemaVersionResolver.GetCurrentVersionAsync(cancellationToken);

            // Return the latest version of the entity. If the entity is not found, throw an exception.
            T value = _entities.Where(entity => entity.Version <= version && (int)entity.Version >= SchemaVersionConstants.Min).FirstOrDefault();

            if (value != null)
            {
                return(value);
            }

            string msg = version == SchemaVersion.Unknown
                    ? DicomSqlServerResource.UnknownSchemaVersion
                    : string.Format(CultureInfo.InvariantCulture, DicomSqlServerResource.SchemaVersionOutOfRange, version);

            throw new InvalidSchemaVersionException(msg);
        }