Exemplo n.º 1
0
        public async Task <Uri> GetImageUriAsync(string id)
        {
            var cachedUri = await _cache.GetOrCreateAsync(id, async entry =>
            {
                try
                {
                    entry.SlidingExpiration = TimeSpan.FromHours(6);

                    var container = await _containerProvider.GetContainerAsync();
                    var reference = await container.GetBlobReferenceFromServerAsync(id);

                    return(reference.Uri);
                }
                catch (Exception ex)
                {
                    ex.TryLogException(_logger);
                    // Worst case scenario, fallback to somewhat reasonable URI.
                    return(null);
                }
            });

            return(cachedUri);
        }
Exemplo n.º 2
0
        public async Task <Uri> GetImageUriAsync(string id)
        {
            var cachedUri = await _cache.GetOrCreateAsync(id, async entry =>
            {
                try
                {
                    entry.SlidingExpiration = TimeSpan.FromHours(6);

                    var container = await _containerProvider.GetContainerAsync();
                    var reference = await container.GetBlobReferenceFromServerAsync(id);

                    return(reference.Uri);
                }
                catch (Exception ex)
                {
                    ex.TryLogException(_logger);

                    // Worst case scenario, fallback to somewhat reasonable URI.
                    return(new Uri($"https://ievangelistphotobooth.blob.core.windows.net/photoboothimages/{id}"));
                }
            });

            return(cachedUri);
        }