我有一个 WCF 服务,它向任何请求它的客户端返回一个带有 Zip 文件 (50MB) 的字节数组。如果 Zip 非常小(例如 1MB),则 SOAP 响应来自 WCF,其中嵌入了字节数组。但是即使对于 1MB 的文件,响应大小也非常大。如果我尝试传输 50MB 文件,服务会挂起并引发内存不足异常,因为 SOAP 响应的大小会变得很大。
当我发回一个字节数组时,WCF / Web 服务传输大文件(主要是 ZIP 格式)的最佳选择是什么。有没有什么好的方法可以代替发回文件?
WCF / Web 服务是否是将大文件传输到任何客户端的最佳方式,还是有任何其他更好的选择/技术可用,以便可以实现 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;
一个工作/真实的信息将非常有用,因为我正在努力处理谷歌中可用的所有数据并且上周没有好的结果。