我们有一个用.NET 2.0编写的客户端(并且无法更改)。此客户端与用 .NET 4.0 编写的 Web 服务(没有 WCF,只是纯 asmx)进行通信。现在我们需要从 Web 服务中下载相当大的文件( 200 MB )。可以有大约。1000个客户端同时连接并下载。ws 方法的当前实现非常幼稚。整个文件(顺便说一下 si XML)作为字符串在内存中读取并返回字符串。
稍微好一点的方法是按照这里的建议将其读取为字节数组:但我认为这仍然是错误的方法。大文件将仍在内存中(乘以 base64 等)
最好的方法是使用流。我知道 WCF 能够流式传输(例如这里),但 WCF 对我们来说可能是不可能的,因为客户端(.NET 2,0)必须以某种方式使用 .NET 3.0 的功能(通过使用它的程序集来自 WCF),这可能很讨厌。
还有另一种可能性,如何确保服务器能够处理如此大文件的大量下载?