【发布时间】:2014-01-06 05:24:09
【问题描述】:
需要进一步了解与 WCF 错误相关的信息,即请求实体太大(错误 413)。
差不多,服务是一个简单的 [OperationContract],接受一个字符串作为参数。
<IService.cs>
[OperationContract]
string UploadReportText(string ReportText);
<Service.cs>
public string UploadReportText(string ReportText)
{
// Code to process data passed.
}
我已经为该服务设置了 Web 配置,如下所示:
<bindings>
<webHttpBinding>
<binding maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="2147483647"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647" />
</binding>
</webHttpBinding>
</bindings>
虽然我认为 IIS 中的 uploadReadAhead 值不需要被触及(因为我没有使用 SSL),但我仍然将其修改为 2147483647。
在 Chrome 中跟踪调用该服务的应用之一,我可以看到数据 Content-Length 为 169786。
真的很难找到与此相关的更进一步的地方。
欣赏任何见解。谢谢
更新: 附加信息 如果我将传递给服务的字符串数据设置为更小的长度,我不会收到错误消息。我所做的与此相关的大部分搜索都指向 maxReceivedMessageSize 需要调整为最大可能值,但在 web config 中设置它似乎没有效果。
更新: 启用日志记录,我收到此消息:
异常详情:System.ServiceModel.ProtocolException: The maximum message size quota for incoming messages (65536) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element.
【问题讨论】:
标签: wcf