Gar*_*yJL 9 .net c# serialization azure azureservicebus
我试图在将BrokeredMessage.Properties
集合属性发送到Azure Service Bus之前将其添加到集合中.自定义属性类型是枚举:
[Serializable, DataContract]
public enum FooBar
{
[EnumMember]
Foo = 0,
[EnumMember]
Bar = 1
}
Run Code Online (Sandbox Code Playgroud)
我也尝试过各种各样的属性组合,以及没有属性的版本.
这是添加属性并发送消息的代码:
var brokeredMessage = new BrokeredMessage(new MessageObject(){ //etc });
brokeredMessage.Properties.Add("FooBar", FooBar.Foo);
queueClient.Send(brokeredMessage);
Run Code Online (Sandbox Code Playgroud)
尝试发送消息时返回以下错误:
System.Runtime.Serialization.SerializationException : Serialization operation failed due to unsupported type Namespace.FooBar.
Run Code Online (Sandbox Code Playgroud)
我试图找到一些关于BrokeredMessage.Properties
限制的详细文档(如果有的话),并且找不到任何指定只能使用基本类型的文档.
关于为什么这不起作用的任何想法?
编辑:
应该说我使用的是Microsoft.ServiceBus的V2.1.0.0.
use*_*170 11
不过,您只能使用字符串,整数等简单类型.
对于您的情况,您可以尝试两种方式
选择你自己,哪一个更适合你.