具有大数据的WCF Web服务上的客户端内存使用情况

时间:2013-09-23 14:12:17

标签: c# wcf streaming large-data

我有一个WCF Web服务需要返回一个文件(可以通过字节数组或流式传输返回)。我首先在界面中返回一个byte [],这导致客户端 100MB 文件的内存使用率(高峰值)达到 400MB 。 由于我需要减少客户端内存使用量,我添加了另一个接口,将文件流回客户端。这一次,我见证了客户的增长<600> (再次,在峰值时)。如何减少客户端内存使用量?

我当前的服务器实现如下(流媒体):

[ServiceContract]
public interface IOmriService
{
    [OperationContract]
    Stream GetAudio(string input);
}

App.config中:

  <bindings>
    <basicHttpBinding>
       <binding name="HttpStreaming" maxReceivedMessageSize="67108864" transferMode="Streamed"/>
    </basicHttpBinding>
  </bindings>

1 个答案:

答案 0 :(得分:0)

据我所知,在WCF中无法做到这一点。 我所做的是使用“简单”的http文件下载。这几乎不会消耗客户端的内存。