c# – 下载大文件的Asmx Web服务

使用Web服务下载大文件(大约400mb)时遇到问题.
今天我们有一个asmx web服务(使用soap协议)来获取这个文件(返回一个byte [])和一个使用这个web服务引用的 windows服务来下载文件.如果文件大小很大,它会消耗大量的RAM MEMORY(几乎所有可用的计算机内存).
我想知道什么是更好的方式来下载 Windows服务的文件,而不消耗大量的内存.

解决方法

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

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

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...