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

Difference between BrokeredMessage Body Vs message.Properties ?

我对 BrokeredMessage Body 和 message.Properties 有点困惑?

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

What is the Difference between 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"]);

任何人都可以详细说明区别吗?

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

保罗