BrokeredMessage.Properties
Azure Service Bus に送信する前に、カスタム プロパティをコレクションに追加しようとしています。カスタム プロパティ タイプは列挙型です。
[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 を使用していると言うべきでした。