我在 WCF 响应序列化方面遇到了一个有趣的问题。在多次请求(比如说 10 个)之后,WCF 开始混淆请求,并且在使用 Utf8 编码时总是在第 128 个字符之后。
预期响应:
<via version="1.1">
<response>
<status code="0" />
<res-get-balance>
<balance value="38.65" currency="GBP" />
<token>IQV2SSc41Fux6zWeaaUOMKtBvYW3IgtDZFJ4r1</token>
</res-get-balance>
</response>
</via>
但是我得到了这个作为回应:
<via version="1.1">
<response>
<status code="0" />
<res-get-balance>
<balance value="38.65" currency="GBP" />
<token>IQV2SSc41Fux6zWe
<via version="1.1">
<response>
<status code="0" />
<res-get-balance>
<balance value="38.65" currency="GBP" />
<token>IQ
当它到达字符编号 128 时,它会从头开始。
这是我的绑定配置:
<webHttpBinding>
<binding name="webHttpBindingConfig" sendTimeout="05:00:00" ></binding>
</webHttpBinding>
这是我的行为配置:
<behavior name="webXmlOverHttpBehavior">
<dataContractSerializer maxItemsInObjectGraph="165536" />
<endpointDiscovery enabled="true" />
<webHttp helpEnabled="true" defaultOutgoingResponseFormat="Xml" />
</behavior>
我的服务实现具有以下属性:
[ServiceBehavior(IncludeExceptionDetailInFaults = true, InstanceContextMode = InstanceContextMode.Single)]
有任何想法吗?