包含大数据的 WCF Web 服务上的客户端内存使用情况
本文关键字:内存 用情 客户端 情况 服务 数据 WCF Web 包含大 | 更新日期: 2023-09-27 18:32:29
我有一个WCF Web服务,需要返回一个文件(可以通过字节数组或流式处理返回)。我首先在接口中返回一个 byte[],这导致客户端为 100MB 文件高达 400MB 的内存使用量(峰值)。由于我需要减少客户端内存使用量,因此我添加了另一个接口,该接口将文件流式传输回客户端。这一次,我见证了客户端增加了 600MB(再次达到峰值)。如何减少客户端内存使用量?
我目前的服务器实现如下(流式传输):
[ServiceContract]
public interface IOmriService
{
[OperationContract]
Stream GetAudio(string input);
}
应用配置:
<bindings>
<basicHttpBinding>
<binding name="HttpStreaming" maxReceivedMessageSize="67108864" transferMode="Streamed"/>
</basicHttpBinding>
</bindings>
据我所知,在 WCF 中没有办法做到这一点。我所做的是使用"简单"的http文件下载。这几乎不消耗客户端的内存。