NServiceBus:收到一条空消息

时间:2014-06-24 19:52:56

标签: c# nservicebus

我的NServiceBus发出警告,表示收到空消息,因此忽略它。 但这个消息确实不是空洞。

我的总线配置

Configure.With()
                 .Log4Net()
                 .DefaultBuilder()
                 .XmlSerializer()
                 .RavenSubscriptionStorage()
                 .MsmqTransport()
                     .IsTransactional(true)
                     .PurgeOnStartup(false)
                 .UnicastBus();

这是消息。 xml是正确的(我的意思是xml的值和标签与我发送的对象相比是正确的。)

<Messages>
<Class1>
<Class2>
<QueueAddress>.\\private$\\myerrorqueue</QueueAddress>
<Category>Some string here</Category>
<ExtraInfo> </ExtraInfo>
<Priority> 1 </Priority>
<LookupValue> 1 </LookupValue>
</Class2>
</Class1>
</Messages>

警告

2014-06-24 15:45:42,213 [Worker.14] WARN  NServiceBus.Unicast.UnicastBus [(null)
] - Received an empty message - ignoring.

我知道如果只有readonly属性,则无法进行反序列化。我的界面没有只读属性。

public interface ISomeInterfaceImplementedByClass1
{
    Class2 class2{ get; set; }
}

NServiceBus - Server is throwing empty message warning to the console中所述,我确保在发送方和接收方都有相同的总线配置,但问题仍然存在。

可能是什么原因?

更新: 如果我使用JSONSerializer,则调用适当的处理程序。所以它不适用于XMLSerializer。

1 个答案:

答案 0 :(得分:0)

原因:我正在创建一个接口实例并发送它。 XMLSerializer没有序列化接口。

我使用了JSONSerializer而不是XMLSerializer,并且调用了适当的Handler。