我在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"]);
任何人都能详细说明差异吗?
答案 0 :(得分:3)
属性是一个简单的键值对集合。在大多数情况下,如果您可以将它们映射为键值对,则可以使用它来发送信息。 Body是消息的有效负载,如果仅使用Properties(如上所述)发送信息内容,则可以为空。如果您需要发送以特定应用程序格式(例如JSON,XML,...)编码的数据,则必须使用Body。发送二进制数据也一样......你需要使用Body。 Body(使用Azure SDK)的优势是序列化功能;您可以使用序列化程序(JSON / XML)在Body中序列化业务逻辑类(或从您的模型中)。
保