gpt4 book ai didi

WCF 服务错误 413 实体太大

转载 作者:行者123 更新时间:2023-12-02 15:34:21 24 4
gpt4 key购买 nike

需要深入了解在何处进一步查找与我遇到的有关请求实体太大(错误 413)的 WCF 错误。

差不多,该服务是一个简单的 [OperationContract],接受一个字符串作为参数。

<IService.cs>
[OperationContract]
string UploadReportText(string ReportText);


<Service.cs>
public string UploadReportText(string ReportText)
{
// Code to process data passed.
}

我已经为该服务设置了网络配置,如下所示:

<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 配置中设置它似乎没有效果。

更新:启用日志记录,我收到此消息:

异常详细信息:System.ServiceModel.ProtocolException:已超出传入消息的最大消息大小配额 (65536)。要增加配额,请在适当的绑定(bind)元素上使用 MaxReceivedMessageSize 属性。

最佳答案

首先:在您的服务器端,您定义了具有较大消息大小的绑定(bind)配置,但您没有从您的端点引用它。

  <service behaviorConfiguration="WCFReferrals.Service1Behavior"
name="WCFReferrals.Referrals">
<endpoint
address=""
binding="wsHttpBinding"
bindingConfiguration="LargeSizeMessages" <== you need to reference the binding config (by specifying its name
contract="WCFReferrals.IReferrals">
</endpoint>
.....
</service>
....
<binding name="LargeSizeMessages" <== give it a meaningful name
maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="32" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="4096"
maxNameTableCharCount="16384" />
</binding>

Source

Refer this too

关于WCF 服务错误 413 实体太大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20651263/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com