BrokeredMessage Body Vs message.Properties之间的区别?

时间:2015-02-24 06:51:41

标签: azure queue servicebus azureservicebus

我在BrokeredMessage Body Vs message.Properties之间有点困惑?

我想将消息插入队列并根据消息想要触发Webjob

  

BrokeredMessage Body Vs message.Properties有什么区别?

示例

// Create message, passing a string message for the body
                BrokeredMessage message = new BrokeredMessage("Test message " + i);

                // Set some addtional custom app-specific properties
                message.Properties["EventId"] = i;

Queue

检索数据时
Console.WriteLine("Body: " + message.GetBody<string>());
                        Console.WriteLine("Test Property: " +
                           message.Properties["EventId"]);

任何人都能详细说明差异吗?

1 个答案:

答案 0 :(得分:3)

属性是一个简单的键值对集合。在大多数情况下,如果您可以将它们映射为键值对,则可以使用它来发送信息。 Body是消息的有效负载,如果仅使用Properties(如上所述)发送信息内容,则可以为空。如果您需要发送以特定应用程序格式(例如JSON,XML,...)编码的数据,则必须使用Body。发送二进制数据也一样......你需要使用Body。 Body(使用Azure SDK)的优势是序列化功能;您可以使用序列化程序(JSON / XML)在Body中序列化业务逻辑类(或从您的模型中)。