У меня есть веб-сайт ASP.NET, работающий в учетной записи веб-приложений Azure. У меня также есть учетная запись хранения, использующая режим блочных двоичных объектов.
Я загружаю видео файл размером всего около 9 мб. Загрузка занимает около 10 секунд.
Затем я показываю пользователю список файлов со ссылкой для скачивания. Когда вы нажимаете ссылку для скачивания и "сохраняете как" файл, он загружается. Для загрузки этого же файла требуется> 30 секунд.
Это очень медленно. Это всего 9 мб, и у меня супер быстрый интернет. Я могу загружать большинство файлов с обычных сайтов со скоростью> 3 МБ (мегабайт) в секунду, поэтому я ожидаю, что файл размером 9 МБ займет около 3 секунд.
Вот код, который я использую для возврата потока через мой контроллер:
public Stream GetAttachmentStream(string attachmentId)
{
MemoryStream stream = new MemoryStream();
var storage = Storage.Instance("StorageConnectionStringLive");
storage.GetBlob(attachmentId, stream);
stream.Seek(0, SeekOrigin.Begin);
return stream;
}
public ActionResult GetFile(string id, string fileName, string mimeType)
{
var fileStream = GetAttachmentStream(id);
Response.AppendHeader("Content-Disposition", "inline; filename=" + fileName);
return File(fileStream, mimeType);
}
GetBlob
метода? Я также даю ответ, который, возможно, поможет вам определить проблему медлительности. - person Gaurav Mantri   schedule 02.06.2016