2012-03-19 38 views
0

我有不同類型的消息,需要通過MSMQ發送給客戶端。我沒有使用WCF,因爲我想要一個自己編碼的解決方案。當我在客戶端收到消息時,如何區分消息體的數據類型,因爲我希望根據消息正文的類型設置IFormatter,以便查詢消息。謝謝。如何通過MSMQ發送不同類型的消息?

回答

2

如果您可以控制正在發送的消息格式,則可以將每個消息正文封裝在具有'type'屬性的固定容器中。然後,您可以反序列化容器,並根據'type'屬性確定如何處理實際包含消息的反序列化。

例如

<dataContainer type="XYZ"> 
<!-- put your actual message content here inside a CDATA section --> 
</dataContainer> 
1

通常,如果您有多種類型的消息,則使用多個隊列。這樣可以避免以後任何潛在的問題,即只能對特定類型的消息進行取消排隊,以及對正在處理的消息類型進行任何潛在的混淆。

如果你已經有了一個隊列的基礎設施,添加另一個應該是最小的工作。

+1

只有跨類型的消息排序並不重要 – 2012-03-19 13:20:11