Exemplo n.º 1
0
            protected override async Task <Result <string> > TryGetSasUrlCore(OperationContext context, string storageId, DateTime expiry)
            {
                if (SasUrls.TryGetValue(storageId, out var lazySasUrl) && lazySasUrl.GetValueAsync().IsCompleted)
                {
                    return(await lazySasUrl.GetValueAsync());
                }

                return(new ErrorResult("Blob is not present in storage"));
            }
Exemplo n.º 2
0
            protected override async Task <Result <string> > UploadFileCoreAsync(OperationContext context, AbsolutePath file, string name, bool garbageCollect = false)
            {
                var lazySasUrl = SasUrls.GetOrAdd(name, new AsyncLazy <string>(async() =>
                {
                    await UploadFileCompletion.Value;
                    return($"https://{Name}.azure.blob.com?blobName={name}&token={Guid.NewGuid()}&file={Uri.EscapeDataString(file.Path)}");
                }));

                await lazySasUrl.GetValueAsync();

                return(name);
            }