Как правильно переслать заголовки сообщений в служебную шину
Я с нуля строил "глупую" служебную шину, которая получает сообщения, адресованные различным службам (с жетонами учетных данных в заголовках), и должна передавать эти сообщения службам через имеющийся у них прокси-клиент.
Короткий фрагмент кода, объясняющий -
ServiceBus: IServiceBus {
SomeService clientProxy = new SomeService();
clientProxy.OperationThatRequiresTokensHere(); //this is the way the message is relayed.
}
Я пытался реализовать IDispatchMessageInspector и использовать AfterRequest и BeforeReply, чтобы:
A. получить значения из заголовков и отправить их как объект в BeforeSend.
B. в BeforeSend, чтобы вставить их в сообщение клиента прокси к правильному Сервису.
Я неправильно использую IDispatch здесь? Это правильный подход? не обращайте внимания на правильность моего представления о сервисном автобусе, пожалуйста.
Если это не тот способ, как вы собираете заголовки сообщений и вставляете их правильно, когда прокси-сообщение отправляется в исходный сервис?
1 ответ
Вы пытаетесь влиять на поток сообщений из точки расширяемости в конвейере модели сервиса WCF, который предназначен для проверки / редактирования сообщений. Это не сработает.