C#WCF:WCF服务在发送项目数组时返回(404)错误请求
我试图向WCF服务方法发送大约50个元素的数组,但我总是收到一个C#WCF:WCF服务在发送项目数组时返回(404)错误请求,c#,wcf,wcf-binding,C#,Wcf,Wcf Binding,我试图向WCF服务方法发送大约50个元素的数组,但我总是收到一个(404)错误请求 我认为这与消息大小或类似的东西有关,因为如果我发送一个空数组,它就会工作 我做了一些研究,并在WCF的web.config中添加了一些内容,但我仍然无法使其正常工作 任何人都可以提供一些额外的信息,我可以如何增加我可以发送的信息的大小 [更新]解决方案: 这是一个明显的问题,但您是否尝试过将其设置为65536并查看是否仍然失败?您的服务主机应配置为接收大量数据,如果不接收,则在服务级别将其丢弃 添加对Syst
(404)错误请求
我认为这与消息大小或类似的东西有关,因为如果我发送一个空数组,它就会工作
我做了一些研究,并在WCF的web.config中添加了一些内容,但我仍然无法使其正常工作
任何人都可以提供一些额外的信息,我可以如何增加我可以发送的信息的大小
[更新]解决方案:
这是一个明显的问题,但您是否尝试过将其设置为65536并查看是否仍然失败?您的服务主机应配置为接收大量数据,如果不接收,则在服务级别将其丢弃
- 添加对System.Runtime.Serialization的引用
- 创建绑定时,请设置消息大小:
return new NetTcpBinding(SecurityMode.None, true)
{
MaxReceivedMessageSize = 99999999,
ReaderQuotas = { MaxArrayLength = 99999999 }
};
愚蠢,愚蠢的我:(
问题是我在web.config中创建了绑定配置,如下所示:
<bindings>
<wsHttpBinding>
<binding name="netTcpBindingConfig" closeTimeout="00:10:00" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="6000000">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="6000000" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
</binding>
</wsHttpBinding>
</bindings>
现在它像一个符咒一样工作。如果我发送数组的5个元素,我仍然会收到错误的请求错误。那么这不是数组的大小,请尝试关注数组的内容。但是,如果我发送3个元素,它就工作了;这就是为什么我要讨论大小的原因。嗯,也许它的大小确实相关
bindingConfiguration="netTcpBindingConfig"