将wcf传输程序从缓冲更改为流式传输

时间:2015-02-24 10:11:57

标签: c# wcf file-transfer

我想通过wcf程序传输大文件。我找到了this project 它按照我的意愿工作,但传输大文件是不可能的。有谁知道如何将它从缓冲转换为chucked ???

这是绑定:

<binding name ="FileTransferServicesBinding"
transferMode="Streamed"
messageEncoding="Mtom"
maxReceivedMessageSize="10067108864" >

1 个答案:

答案 0 :(得分:0)

您链接的项目已经是Streaming,我们确实需要有关您收到的特定错误的更多信息。当您尝试传输大文件时会发生什么?你在谈论文件有多大?

考虑到这一点,您的问题可能在于链接项目忽略指定文件大小比maxReceivedMessageSize更多的绑定设置。绑定配置还可以包括嵌套元素readerQuotas

<readerQuotas 
    maxArrayLength="Integer"
    maxBytesPerRead="Integer"
    maxDepth="Integer"
    maxNameTableCharCount="Integer"
    maxStringContentLength=="Integer" />

其中定义了对可接受消息的构成的限制。默认值可以偏低,例如maxArrayLength是16384.你使用byte []数组吗?它大于16384吗?