У меня есть служба WCF, которая возвращает массив байтов с файлом Zip (50 МБ) любому клиенту, который его запрашивает. Если Zip очень маленький (скажем, 1 МБ), ответ SOAP исходит от WCF со встроенным в него массивом байтов. Но размер ответа очень велик даже для файла размером 1 МБ. Если я пытаюсь передать файл размером 50 МБ, служба зависает и выдает исключение нехватки памяти, потому что размер ответа SOAP становится огромным.
Каков наилучший вариант, доступный с WCF / веб-службой для передачи больших файлов (в основном в формате ZIP), поскольку я отправляю обратно массив байтов. Есть ли какой-нибудь хороший подход вместо этого для отправки файла обратно?
Является ли WCF / веб-сервис лучшим способом передачи больших файлов любому клиенту или есть какой-либо другой лучший вариант / доступная технология, обеспечивающая совместимость и масштабируемость для 10 000 пользователей?
Мой код Ccode ниже:
String pathfordownload = @"D:\New Folder.zip";
FileStream F2D = new FileStream(pathfordownload, FileMode.Open,FileAccess.Read);
BinaryReader binReader = new BinaryReader(F2D);
binReader.BaseStream.Position = 0;
byte[] binFile = binReader.ReadBytes(Convert.ToInt32 (binReader.BaseStream.Length));
binReader.Close();
return binFile;
Рабочий кусок / реальная информация будет действительно полезен, поскольку я борюсь со всеми данными, доступными в Google, и не получил хороших результатов за последнюю неделю.