我一直在从头开始构建一个"愚蠢"的服务总线,它可以将消息寻址到各种不同的服务(在标头中有凭据令牌),并需要将所述消息中继到具有代理客户端的服务。
一个简短的代码片段解释-
ServiceBus: IServiceBus {
SomeService clientProxy = new SomeService();
clientProxy.OperationThatRequiresTokensHere(); //this is the way the message is relayed.
}
我一直在尝试实现IDispatchMessageInspector,并使用AfterRequest和BeforeReply来:
A。从标头中获取值,并将它们作为对象发送到BeforeSend。
B。在BeforeSend中,将它们插入到正确服务的代理客户端消息中。
我是不是滥用了IDispatch?这是正确的方法吗?请不要理会我现在对服务巴士的想法是否正确。
如果不是这样做的话,当代理消息到达原始服务时,您将如何收集消息头并正确插入它们?
您正试图从WCF服务模型管道中的可扩展性点影响消息流,该管道旨在检查/编辑消息。这行不通。