我一直在从头开始构建一个“愚蠢的”服务总线,它将消息发送到各种不同的服务(在标头中带有凭证令牌),并且需要使用它拥有的代理客户端将所述消息中继到服务。
一个简短的代码片段解释 -
ServiceBus: IServiceBus {
SomeService clientProxy = new SomeService();
clientProxy.OperationThatRequiresTokensHere(); //this is the way the message is relayed.
}
我一直在尝试实现 IDispatchMessageInspector 并使用 AfterRequest 和 BeforeReply 来:
A. 从标头中获取值并将它们作为对象发送到 BeforeSend。
B. 在 BeforeSend 中将它们插入到代理客户端消息到正确的 Service。
我在这里滥用 IDispatch 吗?这是正确的方法吗?请忽略我现在对服务总线的想法是否正确。
如果这不是解决方法,当代理消息发送到原始服务时,您将如何收集消息标头并正确插入它们?