I've just started learning TAP pattern, and I'm getting error
An asynchronous module or handler completed while an asynchronous operation was still pending
I'm getting this error on the line:
var r = await _purchaseService.UpdateEbookDownloadLinkAsync(resultOfAdding.Id, ebookUrls);
Here is how UpdateEbookDownloadLinkAsync method looks like:
public async Task<bool> UpdateEbookDownloadLinkAsync(Guid purchaseId, List<string> urls)
{
using (var database = new DatabaseContext())
{
var item = await database.PurchasedItems.FindAsync(purchaseId);
if (item == null)
{
return false;
}
var stringBuilder = new StringBuilder();
foreach (var url in urls)
{
stringBuilder.Append(url).Append(';');
}
item.EbookDownloadLink = stringBuilder.ToString();
database.PurchasedItems.AddOrUpdate(item);
var i = await database.SaveChangesAsync();
return true;
}
And before I call UpdateEbookDownloadLinkAsync I have ForEach loop which ends with this piece of code:
var blob = container.GetBlockBlobReference(nameWithoutExstension + "-" + guid + ".pdf");
await blob.UploadFromFileAsync(mappedPathOut, FileMode.Open);
ebookUrls.Add(blob.Uri.ToString());
Could you please help me solve this problem ?