NuGet.Services.Metadata.Catalog.Persistence.AggregateStorage.OnSave C# (CSharp) Méthode

OnSave() protected méthode

protected OnSave ( Uri resourceUri, NuGet.Services.Metadata.Catalog.Persistence.StorageContent content, CancellationToken cancellationToken ) : Task
resourceUri System.Uri
content NuGet.Services.Metadata.Catalog.Persistence.StorageContent
cancellationToken System.Threading.CancellationToken
Résultat Task
        protected override Task OnSave(Uri resourceUri, StorageContent content, CancellationToken cancellationToken)
        {
            var tasks = new List<Task>();
            tasks.Add(_primaryStorage.Save(resourceUri, content, cancellationToken));

            foreach (var storage in _secondaryStorage)
            {
                var secondaryResourceUri = new Uri(resourceUri.ToString()
                    .Replace(_primaryStorage.BaseAddress.ToString(), storage.BaseAddress.ToString()));

                var secondaryContent = content;
                if (_writeSecondaryStorageContentInterceptor != null)
                {
                    secondaryContent = _writeSecondaryStorageContentInterceptor(
                        _primaryStorage.BaseAddress, 
                        resourceUri, 
                        storage.BaseAddress, 
                        secondaryResourceUri, content);
                }

                tasks.Add(storage.Save(secondaryResourceUri, secondaryContent, cancellationToken));
            }

            return Task.WhenAll(tasks);
        }