我看到邮件的最大大小为4 MB。我有一个要求,我需要发送更大的消息,以避免数据库往返。有没有办法实现这个目标?
由于
答案 0 :(得分:1)
是的,您可以启用名为databus的功能并将属性标记为DataBusProperty,这将以另一种方式发送f.e.通过文件共享或windows azure blob存储。
请参阅以下示例,了解如何执行此操作: https://github.com/Particular/NServiceBus.Msmq.Samples/tree/master/DataBus
希望这有帮助。
答案 1 :(得分:0)
执行此操作的一般方法是让消息引用数据,而不是让数据成为消息正文的一部分。引用的数据本身可以存储在数据库或键/值存储或文件系统中。将会有一个往返,因为必须首先存储然后检索引用的数据,但是你可以将这个数据忽略不计。关于这次往返的过多关注是过早的优化。
正如 Yves Goeleven 所述,使用NServiceBus v3 +,您可以将邮件属性标记为作为引用发送并存储在文件系统或其他内容中。这是以对消息处理代码非常透明的方式完成的。