Как получить данные из объекта контракта данных WCF в заголовки сообщения
Все мои объекты контракта данных в моем сервисе наследуются от BaseMessage...
[DataContract(Name = "BaseMessage", Namespace = "http://www..."]
public class BaseMessage
{
[DataMember]
public Guid MessageId { get; set; }
}
Я знаком с использованием инспекторов сообщений для просмотра фактической полезной нагрузки SOAP, проходящей по проводам. Однако я хочу как-то подключиться к конвейеру сообщений, чтобы сделать следующее:
Посмотрите на входящее сообщение и в идеале считайте из него поле MessageId, не ища совпадения строки во всем объекте строкового сообщения - если нет быстрого способа сделать это.
Извлечение из сообщения MessageId с целью создания заголовка внутри сообщения, содержащего MessageId. Опять же, я действительно не хочу искать во всем сообщении совпадение строк.
Я знаком с использованием IClientMessageInspector и IDispatchMessageInspector для просмотра сообщений, но я думаю, что в этой точке конвейера у меня нет доступа к реальному объекту для доступа к его полям.
Спасибо
1 ответ
Если вы хотите определить, какие элементы идут в теле сообщения по сравнению с его заголовками, вам нужен контракт сообщения.