<soapProcessingExtension>
Definiert das Clientendpunktverhalten, das verwendet wird, um Nachrichten zwischen unterschiedlichen Bindungstypen und Nachrichtenversionen zu marshallen.
Schemahierarchie
<<system.serviceModel>>
<behaviors>
<endpointBehaviors>
<behavior> von <endpointBehaviors>
<soapProcessingExtension>
Syntax
<synchronousReceive />
Attribute und Elemente
In den folgenden Abschnitten werden Attribute, untergeordnete Elemente sowie übergeordnete Elemente beschrieben.
Attribute
Element | Beschreibung |
---|---|
processMessages |
Ein boolescher Wert, der angibt, ob Nachrichten zwischen SOAP-Nachrichtenversionen gemarshallt werden sollen. |
Untergeordnete Elemente
Keine.
Übergeordnete Elemente
Element | Beschreibung |
---|---|
Gibt ein Endpunktverhalten an. |
Hinweise
SOAP-Verarbeitung ist der Prozess, bei dem Nachrichten zwischen Nachrichtenversionen konvertiert werden.
Der Windows Communication Foundation (WCF)-Routingdienst kann Nachrichten von einem Protokoll in ein anderes konvertieren. Wenn die Versionen eingehender und ausgehender Nachrichten unterschiedlich sind, wird eine neue Nachricht mit der richtigen Version erstellt. Nachrichten werden von einer MessageVersion in eine andere geändert, indem eine neue WCF-Nachricht erstellt wird, die den Textteil und relevante Header der eingehenden WCF-Nachricht enthält. Header, die adressierungsspezifisch sind oder auf Routerebene verstanden werden, werden während der Erstellung der neuen WCF-Nachricht nicht verwendet, da diese Header entweder eine andere Version haben (im Fall von Adressierungsheadern) oder als Teil der Kommunikation zwischen dem Client und dem Router verarbeitet wurden.
Ob ein Header in der ausgehenden Nachricht eingefügt wird, wird dadurch bestimmt, ob er als verstanden markiert wurde, als er die eingehende Channelebene durchlief. Nicht akzeptierte Header (z. B. benutzerdefinierte Header) werden nicht entfernt und durchlaufen den Routingdienst, indem sie in die ausgehende Nachricht kopiert werden. Der Nachrichtentext wird in die ausgehende Nachricht kopiert. Die Nachricht wird dann über den Kanal für ausgehende Nachrichten gesendet. Zu diesem Zeitpunkt werden alle relevanten Header und anderen für das Kommunikationsprotokoll/den Transport relevanten Umschlagdaten erstellt und hinzugefügt.
Diese Verarbeitungsschritte erfolgen, wenn das SOAP-Verarbeitungsverhalten angegeben ist. Dieses <soapProcessingExtension>-Verhalten ist ein Endpunktverhalten, das beim Starten des Routingdiensts auf alle (ausgehenden) Clientendpunkte angewendet wird. Standardmäßig erstellt das <routingExtension> von <serviceBehavior>-Verhalten ein neues <soapProcessingExtension>-Verhalten und fügt es hinzu, wobei processMessages für jeden Clientendpunkt auf true festgelegt ist. Wenn Sie ein Protokoll haben, das vom Routingdienst nicht akzeptiert wird, oder das Standardverarbeitungsverhalten überschreiben möchten, können Sie die SOAP-Verarbeitung entweder für den gesamten Routingdienst oder für bestimmte Endpunkte deaktivieren. Um die SOAP-Verarbeitung für den gesamten Routingdienst auf allen Endpunkten zu deaktivieren, legen Sie das soapProcessing-Attribut des <routingExtension> von <serviceBehavior>-Verhaltens auf false fest. Um die SOAP-Verarbeitung für einen bestimmten Endpunkt zu deaktivieren, verwenden Sie dieses Verhalten und legen Sie das processMessages-Attribut dieses Verhaltens auf false fest. Fügen Sie das Verhalten dann an den Endpunkt an, für den Sie den Standardverarbeitungscode deaktivieren möchten. Wenn das <routingExtension> von <serviceBehavior>-Verhalten den Routingdienst einrichtet, wird das erneute Anwenden des Endpunktverhaltens übersprungen, da bereits eines vorhanden ist.
Siehe auch
Verweis
SoapProcessingExtensionElement
SoapProcessingBehavior