Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在WCF中实现流媒体?_Wcf_Stream - Fatal编程技术网

如何在WCF中实现流媒体?

如何在WCF中实现流媒体?,wcf,stream,Wcf,Stream,我在使用WCF获取大量数据时遇到了这个问题,因此我不想增加“maxReceivedMessageSize=”65536”。因此,有什么替代方法,或者我可以使用流媒体实现这一点。如果是,那么如何实现 请注意。 < P>是的,您可以在WCF中流数据,但是WCF在流模式下工作时有一些限制。因此,如果您不介意自己处理它,那么您可能需要考虑实现一种返回数据块并多次调用它的方法。 否则,您可以在如下配置中启用流模式 <basicHttpBinding> <binding name="H

我在使用WCF获取大量数据时遇到了这个问题,因此我不想增加“maxReceivedMessageSize=”65536”。因此,有什么替代方法,或者我可以使用流媒体实现这一点。如果是,那么如何实现


请注意。

< P>是的,您可以在WCF中流数据,但是WCF在流模式下工作时有一些限制。因此,如果您不介意自己处理它,那么您可能需要考虑实现一种返回数据块并多次调用它的方法。 否则,您可以在如下配置中启用流模式

<basicHttpBinding>
  <binding name="HttpStreaming" maxReceivedMessageSize="67108864"
           transferMode="Streamed"/>
</basicHttpBinding>
<!-- an example customBinding using Http and streaming-->
<customBinding>
  <binding name="Soap12">
    <textMessageEncoding messageVersion="Soap12WSAddressing10" />
    <httpTransport transferMode="Streamed" maxReceivedMessageSize="67108864"/>
  </binding>
</customBinding>
如果在传输文件时,您的数据处于类似于的流中。您只需打开流并返回它。否则,您可以使用
MemoryStream
DataContractSerializer
来访问

有关详细信息,请查看和


虽然这听起来很简单,但对于流模式来说,有一些复杂和局限性。如果你只需要一个简单的方法来绕过一个大对象传输的大小限制,考虑将对象部分地发送到多个调用上。

THAX作为回答,我的确切问题是,我正在从WCF服务中获取大数据,所以我得到了Maxrequest。服务器代码中的.cs文件出现错误,页面上不会显示任何内容。能否将数据拆分为较小的大小,并通过单独调用下载每个部分?
interface IRemoteFileService
{
     Stream OpenFile(string serverPath);
}