Ho un servizio molto semplice,parallelo Blob Carica gettando 404 Bad Request intermittenza
public class AzureService : IAzureService
{
private readonly CloudBlobContainer _container;
public AzureService(ISettings settings)
{
var storageAccount = CloudStorageAccount.Parse(settings.BlobConnectionString);
var blobClient = storageAccount.CreateCloudBlobClient();
_container = blobClient.GetContainerReference(settings.BlobContainerName);
}
public Task UploadBlobAsync(string fileName, Stream stream)
{
var blob = _container.GetBlockBlobReference(fileName);
return blob.UploadFromStreamAsync(stream);
}
public Task DeleteBlobAsync(string fileName)
{
var blob = _container.GetBlockBlobReference(fileName);
return blob.DeleteAsync();
}
}
Questo metodo viene chiamato da,
public Task SaveAllAsync(Dictionary<string, Stream> images)
{
var tasks = new List<Task>();
foreach (var image in images)
{
var fileName = image.Key;
var stream = image.Value;
var task = _azureService.UploadBlobAsync(fileName, stream);
tasks.Add(task);
}
return Task.WhenAll(tasks);
}
mio stream è HttpPostedFileBase.InputStream. A volte funziona e talvolta ottengo The remote server returned an error: (400) Bad Request.
. Se metto un break-point funziona pure.
400 è sicuramente un errore del server dicendo che il cliente ha inviato una richiesta non valida. Prova a usare Fiddler per vedere cosa c'è di diverso tra le richieste buone e quelle cattive. –
@PauloMorgado, Se attendo UploadFromStreamAsync' allora funzionerà – user960567
In attesa di 'UploadFromStreamAsync' non dovrebbe avere alcun effetto. Hai controllato il contenuto HTTP con Fiddler? –