NServiceBus 2.0是否允許爲給定的消息類型定義序列化程序?NServiceBus爲某些消息類型指定BinarySerializer,但不是全部
我希望所有人都能使用XmlSerializer對我的消息進行序列化。剩下的一個應該使用BinarySerializer進行序列化。
NServiceBus 2.0可能嗎?
NServiceBus 2.0是否允許爲給定的消息類型定義序列化程序?NServiceBus爲某些消息類型指定BinarySerializer,但不是全部
我希望所有人都能使用XmlSerializer對我的消息進行序列化。剩下的一個應該使用BinarySerializer進行序列化。
NServiceBus 2.0可能嗎?
我相信串行器是以端點爲基礎指定的,所以使用該端點的所有消息都將使用相同的串行器。然而,如果你遵循每個端點/隊列一個消息類型的死記硬背NServiceBus建議,那麼你可以有效地隔離一個消息類型併爲其使用不同的序列化程序。
但是,我很好奇,哪一種消息類型需要二進制序列化?
編輯迴應評論
的Distributor info間接與經銷商提及此路由下。 Udi Dahan也經常在NServiceBus Yahoo Group中提供這方面的建議,儘管由於搜索很差而難以提供鏈接。
基本上,這個想法是,你不希望高優先級的消息被卡在低優先級的消息後面,並且如果需要的話,這可以爲你提供最大的靈活性來擴展某些消息處理。
因爲MsmqTransportConfig只允許指定一個InputQueue,每個隊列有一個消息類型也意味着每個端點只有一個消息處理程序。
要解決圖像問題,如果您將字節數組編碼爲Base64編碼的字符串,您仍然可以將其封裝在XML格式的消息中。這並不理想,但如果你的圖像不是太大,那麼這樣做可能會比在一種消息類型上使用不同的序列化程序更麻煩。
另一種方法是將圖像數據帶外存儲在數據庫或文件系統中,然後通過ID或路徑(分別)引用它。
不可能在第2版本,但它可以使用管道在版本5及以上http://docs.particular.net/samples/pipeline/multi-serializer/
我想送一些二進制數據(圖像文件)來完成。在我的具體情況下,這是將圖像從客戶端傳輸到服務器的唯一可能方式,我不想將這些二進制數據發送到XML文件中:) 您從哪裏瞭解了有關每個端點使用一種消息類型的建議?或者,「消息類型」是什麼意思呢? – mgamer 2010-05-17 21:45:45