4

使用 Web 服务下载大文件(大约 400mb)时出现问题。今天我们有一个 asmx Web 服务(使用肥皂协议)来获取这个文件(返回一个字节 [])和一个使用这个 Web 服务的引用来下载文件的 Windows 服务。如果文件很大,它会消耗大量 RAM MEMORY(几乎是所有可用的计算机内存)。我想知道什么是通过 Windows 服务下载文件的更好方法,而不消耗大量内存。

4

2 回答 2

1

根据您的文件是什么,您可能会通过内置压缩获得非常好的结果,以减少文件大小,从而减少您的问题。检查类的EnableDecompression属性SoapHttpClientProtocol,您可以在客户端上对它进行子类化并使用 IIS 提供的压缩功能。这种方法可以消除对任何其他修改的需要。几百兆应该没什么大不了的,还是你的应用程序消耗更多?

编辑:在仔细阅读您的问题后,我突然想到您正在寻找一种不同的方式来完全 dl 您的文件。WebClient在这种情况下,通过 http/ftp 公开文件并让您的 Windows 服务使用类下载它可能是最简单的方法

于 2012-06-13T19:27:38.893 回答
0

您可以使用MTOM进行大文件转换。

于 2012-06-13T19:16:29.867 回答