我们有一个 NServiceBus 端点来监控 Azure 服务总线队列(使用 Azure 作为传输)。但并非所有向队列发送消息的客户端都是基于 .NET 的。
可以将 NServiceBus 端点配置为接受简单的字符串作为输入吗?
我尝试使用实现 IMutateIncomingMessages 的类来拦截消息,但此时从 Azure 传输进行的反序列化已经失败。
我可以检查在实现 IMutateIncomingTransportMessages 的类中传入的消息,但我不确定这是否是正确的位置。
配置 NServiceBus 以处理以以下格式发布的消息的最佳方法是什么(请记住,这也可以通过 Java 或 Node SDK 或通过 Azure REST 端点来实现):
var brokered = new BrokeredMessage("This plain string represents the data.");
queueClient.Send(brokered);
此消息的反序列化将失败,因为它包含一个字符串,而不是 Azure 传输反序列化程序所期望的字节数组。
PS:我知道可以将端点公开为 WCF 服务,但目前我们只有 NServiceBus.Host 进程从队列中拉出,而 WCF 解决方案对我来说不是正确的解决方案。