我正在尝试将自定义属性添加到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。
发布于 2013-06-01 00:13:54
简而言之,您只能使用简单类型,如string、integers。
对于您的情况,您可以尝试两种方法
你自己选择,哪一个对你更好。
https://stackoverflow.com/questions/16858322
复制相似问题