8
我試圖在將它發送到Azure服務總線之前將自定義屬性添加到BrokeredMessage.Properties
集合。自定義屬性類型是一個枚舉:Windows Azure服務總線 - 具有枚舉值的BrokeredMessage.Properties
[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。
感謝您的回答。這變得很清楚,雖然似乎缺乏關於它的文檔(除非有人能指出我的方向?)我總是更喜歡將枚舉值轉換爲int而不是字符串 - 所以這是我選擇的選項。 – GaryJL