ฉันมีเว็บไซต์ ASP.NET ที่ทำงานบนบัญชี Azure Web Apps ฉันยังมีบัญชีที่เก็บข้อมูลโดยใช้โหมดบล็อกหยด
ฉันอัปโหลดไฟล์วิดีโอที่มีขนาดเพียงประมาณ 9 MB ใช้เวลาประมาณ 10 วินาทีในการอัพโหลด
จากนั้นฉันจะแสดงรายการไฟล์ให้กับผู้ใช้พร้อมลิงก์ดาวน์โหลด เมื่อคุณคลิกที่ลิงค์ดาวน์โหลดและ "บันทึกเป็น" ไฟล์ที่จะดาวน์โหลด ใช้เวลา> 30 วินาทีในการดาวน์โหลดไฟล์เดียวกันนี้
มันช้ามาก มันมีขนาดเพียง 9 MB และฉันมีอินเทอร์เน็ตที่เร็วสุด ๆ ฉันสามารถดาวน์โหลดไฟล์ส่วนใหญ่จากไซต์ปกติได้ที่ > 3MB (เมกะไบต์) ต่อวินาที ดังนั้นฉันคาดว่าไฟล์ขนาด 9 mb จะใช้เวลาประมาณ 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