gpt4 book ai didi

wcf - 将大型 JSON 发布到我的 WCF 服务返回错误请求?

转载 作者:行者123 更新时间:2023-12-04 22:25:09 28 4
gpt4 key购买 nike

我有一个接受 JSON 字符串实体的 WCF 服务,这是方法:

更新:我解决了这个问题,因为这与 WCF 服务无关,而是与我使用的 GSON 格式有关,因为它没有格式化像“ù”这样的特殊字符,并且服务器拒绝接受这个字符。

 <WebInvoke(UriTemplate:="UpdateUser", ResponseFormat:=WebMessageFormat.Json, RequestFormat:=WebMessageFormat.Json, Method:="POST", BodyStyle:=WebMessageBodyStyle.WrappedRequest)> _
Public Function UpdateUser(user As String) As Stream Implements IService1.UpdateUser

End Function

如果我尝试通过 JAVA HttpClient 使用下面的代码和短 JSON 字符串发布 JSON 字符串,一切正常,但如果 JSON 字符串的大小更大,则 IIS 7.5 响应为:

-MODULE_SET_RESPONSE_ERROR_STATUS
ModuleName ManagedPipelineHandler
通知 128
HttpStatus 400
HttpReason 错误请求
HttpSubStatus 0
错误代码 0
配置异常信息
通知
EXECUTE_REQUEST_HANDLER
错误代码
完整的操作。 (0x0)


我已经尝试在 Web.Config 中使用 MaxReceivedMessageSize 和其他大小设置,但没有成功。

这是我的 Web.Config 文件
 <services>
<service name="WBVoice4Facebook.Service1" behaviorConfiguration="ServiceBehaviour">
<endpoint address="" binding="webHttpBinding" bindingConfiguration="StreamedRequestWebBinding" contract="WBVoice4Facebook.IService1" behaviorConfiguration="web">
</endpoint>
</service>
</services>

<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehaviour">
<dataContractSerializer maxItemsInObjectGraph="2147483646"/>
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
<behavior name="">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="web">
<dataContractSerializer maxItemsInObjectGraph="2147483646" />
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>

<bindings>
<netMsmqBinding>
<binding name="NewBinding0">
<security>
<transport msmqAuthenticationMode="None" msmqProtectionLevel="None" />
</security>
</binding>
</netMsmqBinding>
<webHttpBinding>
<binding name="StreamedRequestWebBinding"
openTimeout="10:15:00"
receiveTimeout="10:15:00"
sendTimeout="10:15:00"
bypassProxyOnLocal="true"
hostNameComparisonMode="WeakWildcard"
maxBufferSize="2147483647"
maxBufferPoolSize="2147483647"
maxReceivedMessageSize="2147483647"
transferMode="Streamed"
useDefaultWebProxy="false">
<readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647" />
<security mode="TransportCredentialOnly">
<transport clientCredentialType="InheritedFromHost" />
</security>
</binding>
</webHttpBinding>
</bindings>

最佳答案

asp.net 运行时也有限制。
更多信息 here

关于wcf - 将大型 JSON 发布到我的 WCF 服务返回错误请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11521736/

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