Alle meine Datenvertrag Objekte in meinem Dienst von BaseMessage erben ...Wie man Daten von einem WCF-Datenvertrag Objekt in die Nachricht bekommen Header
[DataContract(Name = "BaseMessage", Namespace = "http://www..."]
public class BaseMessage
{
[DataMember]
public Guid MessageId { get; set; }
}
Ich bin vertraut mit Message Inspektoren an die aussehen tatsächliche SOAP-Nutzlast, die über die Leitung geht. Allerdings, was ich will, ist, tun, um irgendwie in die Nachrichtenpipeline Haken Folgendes zu tun:
Blick auf eine eingehende Nachricht und im Idealfall von den Meldungs-Feld ausgelesen, ohne dass die gesamte Zeichenfolge Nachrichtenobjekt für eine Suche String Match - es sei denn, es gibt einen schnellen Weg, dies zu tun.
Aus einer Nachricht die MessageId extrahieren, um einen Header in der Nachricht zu erstellen, die die MessageId enthält. Wieder möchte ich nicht wirklich die ganze Nachricht nach einem String Match suchen.
Ich bin vertraut mit der Verwendung von IClientMessageInspector und IDispatchMessageInspector in den Nachrichten zu sehen, aber ich denke, an diesem Punkt in der Pipeline seine Felder zugreifen muß ich das eigentliche Objekt Zugang nicht.
Dank