WCF错误:'处理Web请求时出错:状态代码400(BadRequest)'是否是消息大小错误?

时间:2014-08-21 14:48:40

标签: c# web-services wcf

所以我有一个WCF服务,我试图将byte[]上传到。我可以通过我的服务调用我已实现的默认Hello()方法并查看一些日志记录。但无法上传我的字节数组。看起来呼叫甚至无法到达服务。

如果我上传长度为289160的字节[],则会返回以下错误:

  

System.Reflection.TargetInvocationException:抛出了异常   通过调用的目标。

内在例外:

  

{System.Net.WebException:处理网页时出错   请求:状态码400(BadRequest):错误请求   System.ServiceModel.Channels.HttpRequestChannel + HttpChannelRequestAsyncResult.WaitEnd   ()[0x00000] in:0 at   System.ServiceModel.Channels.HttpRequestChannel.EndRequest   (IAsyncResult结果)[0x00000] in:0 at   System.ServiceModel.Channels.HttpRequestChannel.Request   (System.ServiceModel.Channels.Message消息,TimeSpan超时)   [0x00000] in:0 at   System.ServiceModel.MonoInternal.ClientRuntimeChannel.Request   (System.ServiceModel.Channels.Message消息,TimeSpan超时)[0x00000]   in:0 at   System.ServiceModel.MonoInternal.ClientRuntimeChannel.Request   (System.ServiceModel.Description.OperationDescription od,   System.Object []参数)[0x00000] in:0 at   System.ServiceModel.MonoInternal.ClientRuntimeChannel.DoProcess   (System.Reflection.MethodBase方法,System.String operationName,   System.Object []参数)[0x00000] in:0 at   System.ServiceModel.MonoInternal.ClientRuntimeChannel.Process   (System.Reflection.MethodBase方法,System.String operationName,   System.Object []参数)[0x00000] in:0}

但是当我上传长度为0的字节[]时,它会进入我的服务,我会看到记录。

My Binding是:

BasicHttpBinding uploadBinding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);

使用相同的绑定复制服务端...

我猜这是与收到的邮件大小有什么关系?

1 个答案:

答案 0 :(得分:0)

我通过添加:

来修复它
<maxReceivedMessageSize="10485760" openTimeout="00:10:00"
sendTimeout="00:30:00" closeTimeout="00:10:00">

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

我服务端的Web.config中的绑定。