मैं एक बहुत ही सरल सेवा,समानांतर ब्लॉब अपलोड फेंकने 404 गलत अनुरोध रुक-रुक कर
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();
}
}
इस विधि से कहा जाता है,
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);
}
मेरे धारा HttpPostedFileBase.InputStream है। कभी-कभी यह काम करता है और कभी-कभी मुझे The remote server returned an error: (400) Bad Request.
मिलता है। यदि मैं ब्रेक-पॉइंट डालता हूं तो यह भी काम करता है।
400 निश्चित रूप से एक सर्वर कह ग्राहक एक गलत अनुरोध भेजा गया त्रुटि है। अच्छे और बुरे अनुरोधों के बीच क्या अंतर है यह देखने के लिए फिडलर का उपयोग करने का प्रयास करें। –
@PauloMorgado, अगर मैं uploadFromStreamAsync' का इंतजार कर रहा हूं तो यह – user960567
काम करेगा 'अपलोडफ्रेमस्ट्रीमएसिंक' का कोई प्रभाव नहीं होना चाहिए। क्या आपने फिडलर के साथ HTTP सामग्री की जांच की है? –