1
我們正在將應用程序從使用MSMQ轉換爲Azure服務總線。我們有一個對象(消息,類型),看起來像這樣:Azure服務總線:從對象創建BrokeredMessage
[Serializable]
public class LeadSubmissionMessage
{
public long LeadId { get; set; }
public long UserId { get; set; }
public DateTime DateTime { get; set; }
}
在創建從對象BrokeredMessage,起初我想這是工作,因爲它編譯,並沒有引發運行時錯誤,但那麼在服務總線上沒有消息出現。所以當我在調試中看到它時,我意識到它並不是實際序列化對象。
BrokeredMessage brokeredMessage = new BrokeredMessage(message);
在看着other similar posts,我嘗試這樣做:
BrokeredMessage brokeredMessage = new BrokeredMessage(message, new DataContractSerializer(typeof(LeadSubmissionMessage)));
但是得到相同的結果。
我需要做什麼以使對象實際上成爲提交給消息的xml字符串?
編輯:
試過這一點。同樣的結果:
[DataContract]
[Serializable]
public class LeadSubmissionMessage
{
[DataMember]
public long LeadId { get; set; }
[DataMember]
public long UserId { get; set; }
[DataMember]
public DateTime DateTime { get; set; }
}
見上文編輯發送。你是這個意思嗎?我試過了,但我得到了同樣的結果。 –
@CaseyCrookston是的,這就是我的意思。如果您還沒有收到您的消息,那麼問題可能在其他地方,而不是序列化。調試器無法顯示發送的消息的某些屬性的事實是預期的 - '''DeliveryCount'''等僅在接收時被初始化。如果你只是發送了一個字符串,而不是你的消息類,它會發生什麼? –