2011-11-17 70 views
0

我打算讓單個隊列接收~100個不同的消息類型。msmq單個隊列中的多個消息類型

如果一開始我僅僅有2種不同類型的我會做這樣的事情

的MessageQueue隊列=新的MessageQueue(_queue); queue.Formatter = new XmlMessageFormatter(new Type [] {typeof(CreateReportComand),typeof(CreateReportComand2)});

是否瘋狂地通過XmlMessageFormatter〜100類型的數組。如果不是,檢查收到的消息以決定如何處理它的最佳方式是什麼?

回答

1

您可以使用WCF MsmqIntegrationBinding並處理MsmqMessage<string>類型的消息。然後你的處理程序方法會以字符串的形式接收序列化的消息,然後可以做它你想要的。

0

我優先考慮不使用Message.Formatter和Message.Body。相反,我使用Message.BodyStream手動序列化/反序列化我的消息。 消息的類型可以嵌入到序列化數據中(這是我所做的),或者可以將它放在消息標題或標籤上。

+0

我已經開始使用message.AppSpecific來持有一個int我投給枚舉,似乎工作正常 – doss

相關問題