通过WCF服务发送大块数据

通过WCF服务发送大块数据,wcf,Wcf,论客户 [DataContract] public class Request [DataMember] public int ID { get; set; } [DataMember] public string Data { get; set; } } public Response ProcessData(Request request) { //do something with request.Data } 如果我传递一个较小的字符串,效果会

论客户

[DataContract]
public class Request
    [DataMember]
    public int ID { get; set; }
    [DataMember]
    public string Data { get; set; }
}

public Response ProcessData(Request request)
{
    //do something with request.Data
}
如果我传递一个较小的字符串,效果会很好。但是,当我读取文本文件并传递其内容时,它会抛出一个错误“Bad Request 400”

更新: 现在可以了。wcf服务器上web.config中的以下条目实现了这一目的

string data = [some large data];
server.ProcessData(new Request() {ID=1, Data=data});


您是否已尝试在服务配置中增加
maxReceivedMessageSize
等?是的,我尝试过,maxReceivedMessageSize=“65536000”。我怀疑数据,我正在传递csv文本(见下文)。这可能是问题所在吗?“评论日期”、“作者”、“ISBN”、“折扣价格”、“1985/01/21”、“道格拉斯·亚当斯”、0345391802,5.95看起来它可以容纳的最大大小大约为8000字节。我添加了另一个带有字符串参数的方法ProcessData1(字符串请求)。当请求大小超过8000左右时,它的行为相同,因此失败。远程服务器返回意外响应:(400)错误请求。
<system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647" maxBufferSize="2147483647" closeTimeout="00:03:00" openTimeout="00:03:00" receiveTimeout="00:10:00" sendTimeout="00:03:00">
          <readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" />
          <security mode="None"/>
        </binding>
      </basicHttpBinding>
    </bindings>
</system.serviceModel>