WCF读取以base64格式发送的文件

时间:2014-03-18 08:53:49

标签: c# wcf base64

我有一个WCF api方法UploadDocument,它接受json字符串中base64格式的文件内容。

该方法最多可以从客户端向其发送3个文件。在测试时我发现当发送多个文件时,即如果文件大小很大,则根本不会调用该方法,并且客户端会收到错误的请求错误。

我正在Runscope进行测试。我还通过在C#中创建测试应用程序来测试它。我是否需要在web.config中更改某些内容?

我在网上读到了我尝试在WCF web.cofig中添加它

 <basicHttpBinding>
        <binding name="IncreasedTimeout" transferMode="Streamed" maxReceivedMessageSize="4294967296" maxBufferSize="2147483647" maxBufferPoolSize="2147483647>
        </binding>
      </basicHttpBinding>

可能是什么问题?

更新 Web.config内容:

 <basicHttpBinding>
        <binding name="" transferMode="Streamed" maxReceivedMessageSize="4294967296" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" sendTimeout="00:25:00" openTimeout="00:25:00" receiveTimeout="00:10:00" closeTimeout="00:25:00">
          <readerQuotas
      maxArrayLength="2147483647"
          maxBytesPerRead="2147483647"
          maxDepth="2147483647"
          maxNameTableCharCount="2147483647"
      maxStringContentLength="2147483647" />
        </binding>
</basicHttpBinding>

1 个答案:

答案 0 :(得分:1)

您需要设置readerQuotas元素的maxStringContentLength属性。请参阅:http://msdn.microsoft.com/en-us/library/ms731325(v=vs.110).aspx