为什么我的无效WCF消息没有被记录?

时间:2011-09-08 18:30:20

标签: c# wcf serialization

我有一个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>

在生成的日志文件中,我记录了出站消息,然后记录了异常。我从来没有看到收到的消息。我在这里做错了什么?

1 个答案:

答案 0 :(得分:-1)

问题似乎与服务和客户端之间的泛洪数据有关。

请参阅我的帖子here