Ich habe eine ASP.NET-Website unter Azure Web Apps-Konto ausgeführt. Ich habe auch ein Speicherkonto, das den Block-Blob-Modus verwendet.Azure Blob Storage langsam Verwenden von FileStreamResult Controller.File
Ich lade eine Videodatei, die nur etwa 9 MB ist. Das Hochladen dauert etwa 10 Sekunden.
Ich zeige dann eine Liste von Dateien für den Benutzer mit einem Download-Link. Wenn Sie auf den Download-Link klicken und "Speichern unter" die heruntergeladene Datei. Es dauert> 30 Sekunden, um diese Datei herunterzuladen.
Dies ist extrem langsam. Es ist nur 9 MB und ich habe super schnelles Internet. Ich kann die meisten Dateien von normalen Seiten mit> 3 MB (Megabyte) pro Sekunde herunterladen, also würde ich erwarten, dass eine 9 MB-Datei ungefähr 3 Sekunden dauert. Hier
sind der Code, den ich den Strom über meinen Controller zurückzukehren bin mit:
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);
}
Können Sie den Code für die GetBlob-Methode teilen? Ich gebe auch eine Antwort, die Ihnen möglicherweise helfen könnte, das Langsamkeitsproblem zu identifizieren. –