我有一个WCF客户端使用[DataContract]
类型与WCF服务进行通信,我收到序列化错误:
格式化程序在尝试反序列化消息时抛出异常:出现错误 在尝试反序列化参数http://www.example.com/2007/09/Example:ExampleResult时。 InnerException消息是'未找到参考ID'i3'的反序列化对象 流。'。有关详细信息,请参阅InnerException。
通常情况下,我只是简单地查看跟踪并确切了解发生了什么,但在这种情况下,我无法在日志中显示违规(响应)消息。
我的配置如下:
<system.serviceModel>
... (more stuff)
<diagnostics>
<messageLogging logEntireMessage="true" logMalformedMessages="true"
logMessagesAtServiceLevel="false" logMessagesAtTransportLevel="true"
maxMessagesToLog="10000" maxSizeOfMessageToLog="81920000" />
</diagnostics>
</system.serviceModel>
<system.diagnostics>
<trace autoflush="true" />
<sources>
<source name="System.ServiceModel" switchValue="Information, ActivityTracing"
propagateActivity="true">
<listeners>
<add name="wcf_listener" />
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging">
<listeners>
<add name="wcf_listener" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="wcf_listener" initializeData="tracelog.svclog"
type="System.Diagnostics.XmlWriterTraceListener" />
</sharedListeners>
</system.diagnostics>
在生成的日志文件中,我记录了出站消息,然后记录了异常。我从来没有看到收到的消息。我在这里做错了什么?