0

我正在尝试使用 SilverLight 5 应用程序和 .NET 4 服务器之间的 WCF 流式传输实时数据。我需要的是服务器和客户端之间的最小延迟。但是,看起来 WCF 在发送数据之前正在缓冲数据。我正在关注此站点中的示例:http: //blogs.msdn.com/b/carlosfigueira/archive/2010/07/08/using-transfermode-streamedresponse-to-download-files-in-silverlight-4。 .aspx _ 我已经实现了自定义流,我看到我在一秒钟内获得了例如 10 次小块(小于 400 字节)的读取,但是在网络上服务器每 10 秒返回一次数据(它返回 32776 字节 - 这是我从中得到的数字线鲨)。我希望服务器在准备好后立即返回数据,或者至少将缓冲区设置为非常小的值,例如 512 字节。

我试图更改客户端和服务器配置,但没有运气。我的配置如下所示:

客户

<client>
    <endpoint address=""
          binding="customBinding" bindingConfiguration="CustomBinding_IWcfDownloadService_StreamedResponse"
          contract="IWcfDownloadService" name="CustomBinding_IWcfDownloadService_StreamedResponse" />
</client>

<bindings>
  <customBinding>
    <binding name="CustomBinding_IWcfDownloadService_StreamedResponse">
      <binaryMessageEncoding />
      <httpTransport maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" transferMode="StreamedResponse" />
    </binding>
  </customBinding>
</bindings>

服务器

<services>
  <service name="WcfDownloadService">
    <endpoint address="" binding="customBinding" bindingConfiguration="customBinding0" contract="IWcfDownloadService" />        
  </service>
</service>

<bindings>
  <customBinding>
    <binding name="customBinding0">
      <binaryMessageEncoding />
      <httpTransport transferMode="StreamedResponse" />          
    </binding>
  </customBinding>
</bindings>
4

0 回答 0