我使用WCF实现了一小组REST服务.其中一项服务收到大量数据.在调用它时(这是从visual studio运行它 - 我还没有将它部署到生产服务器)我得到了错误
远程服务器返回错误:(413)请求实体太大.
我的网络配置
<binding name="BasicHttpBinding_ISalesOrderDataService"
closeTimeout="00:10:00"
openTimeout="00:10:00"
receiveTimeout="00:10:00"
sendTimeout="00:10:00"
allowCookies="false"
bypassProxyOnLocal="false"
hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="2147483647"
maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647"
textEncoding="utf-8"
transferMode="Buffered"
useDefaultWebProxy="true"
messageEncoding="Text">
<readerQuotas maxDepth="2000000"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647" />
<security mode="None">
<transport clientCredentialType="None"
proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName"
algorithmSuite="Default" />
</security>
</binding>
Run Code Online (Sandbox Code Playgroud)
小智 3
除了增加消息大小和缓冲区大小引号之外,还可以考虑增加序列化程序的maxItemsInObjectGraph。如果您的对象内部具有复杂的结构或对象数组,这可能很重要。我们的典型设置看起来是这样的
<behaviors>
<endpointBehaviors>
<behavior name="GlobalEndpoint">
<dataContractSerializer maxItemsInObjectGraph="1365536" />
</behavior>
</behaviors>
<serviceBehaviors>
<behavior name="GlobalBehavior">
<dataContractSerializer maxItemsInObjectGraph="1365536" />
</behavior>
</serviceBehaviors>
Run Code Online (Sandbox Code Playgroud)
另外,Zwan 提出了什么建议
归档时间: |
|
查看次数: |
4742 次 |
最近记录: |