【发布时间】:2015-10-14 12:22:09
【问题描述】:
我已经使用 WCF 实现了一小组 REST 服务。其中一项服务接收大量数据。调用它时(这是从 Visual Studio 运行它时 - 我还没有将它部署到生产服务器)我收到错误
远程服务器返回错误:(413) Request Entity Too Large.
我的网络配置
<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>
【问题讨论】:
-
你在哪里托管?在 IIS 中?
-
我的数据只有 20KB 。当我将对象转换为 JSON 时。
-
在您的 service 配置中,您是否定义了相同的绑定,并且您是否将该绑定分配给显式端点?您可以发布服务配置的
<system.serviceModel>部分吗? -
在我的代码中,我动态更改端点 URL。他们会影响吗?
-
请在下面找到动态更改端点的代码
SalesOrderDataServiceClient _sodataservice = new SalesOrderDataServiceClient(); string[] EndPointURLSplitups = _sodataservice.Endpoint.Address.Uri.AbsoluteUri.Split('/'); _sodataservice.Endpoint.Address = new System.ServiceModel.EndpointAddress(new Uri(enpointurl + "/" + EndPointURLSplitups[EndPointURLSplitups.Length - 1]), _sodataservice.Endpoint.Address.Identity, _sodataservice.Endpoint.Address.Headers); _salesOrderDataService = _sodataservice;
标签: c# wcf web-config