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