我正在尝试将自定义属性添加到BrokeredMessage.Properties
集合中,然后再将其发送到 Azure 服务总线。自定义属性类型是枚举:
[Serializable, DataContract]
public enum FooBar
{
[EnumMember]
Foo = 0,
[EnumMember]
Bar = 1
}
我还尝试了多种属性组合,以及没有属性的版本。
这是添加属性并发送消息的代码:
var brokeredMessage = new BrokeredMessage(new MessageObject(){ //etc });
brokeredMessage.Properties.Add("FooBar", FooBar.Foo);
queueClient.Send(brokeredMessage);
尝试发送消息时返回以下错误:
System.Runtime.Serialization.SerializationException : Serialization operation failed due to unsupported type Namespace.FooBar.
我试图追踪一些关于BrokeredMessage.Properties
限制的更详细的文档(如果有的话),但找不到任何指定只能使用原始类型的东西。
关于为什么这不起作用的任何想法?
编辑:
应该说我使用的是 Microsoft.ServiceBus 的 V2.1.0.0。