Ich habe einen Nachrichteninspektor in WCF implementiert, indem ich IDispatchMessageInspector
implementiere.Warum erscheint eine Nachricht in WCF scheinbar immer im SOAP-Format?
einen Haltepunkt auf dieser Methode Putting ...
public object AfterReceiveRequest(ref Message request, IClientChannel channel, InstanceContext instanceContext)
{
// Impementation
}
... Ich kann am request
Objekt schauen, um zu sehen, was drin ist.
Offensichtlich verstehe ich WCF nicht genug, denn egal welche Endpunkt-Bindung ich verwende (basichttp, nettcp und netpipe), die Nachricht wird immer im SOAP-Format dargestellt, z.
<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">
<s:Header>
-- headers --
</s:Header>
<s:Body>
-- body --
</s:Body>
</s:Envelope>
Ist das denn ein .ToString tun() auf dem Request-Objekt stellt nur die Nachricht im SOAP-Format?
Ich stellte mir vor, dass unter Verwendung eines anderen Protokolls, z. netTcp würde zu einer anderen Nachrichtennutzlast führen.
Sagen wir auch, ich wollte meine Daten im JSON-Format darstellen, wie würde ich das tun? Oder würde ich am Ende JSON-formatierte Datenstrukturen in einem SOAP-Umschlag haben?