ClientOperation Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Wird verwendet, um das Ausführungsverhalten eines bestimmten Vertragsvorgangs in einem Clientobjekt oder Clientkanalobjekt zu ändern oder zu erweitern. Diese Klasse kann nicht vererbt werden.
public ref class ClientOperation sealed
public ref class ClientOperation sealed : System::ServiceModel::Dispatcher::ClientOperationCompatBase
public sealed class ClientOperation
public sealed class ClientOperation : System.ServiceModel.Dispatcher.ClientOperationCompatBase
type ClientOperation = class
type ClientOperation = class
inherit ClientOperationCompatBase
Public NotInheritable Class ClientOperation
Public NotInheritable Class ClientOperation
Inherits ClientOperationCompatBase
- Vererbung
-
ClientOperation
- Vererbung
Beispiele
Im folgenden Codebeispiel wird ein System.ServiceModel.Description.IEndpointBehavior veranschaulicht, das einen benutzerdefinierten Parameterinspektor in jede ClientOperation in der ClientRuntime.Operations-Eigenschaft einfügt.
#region IEndpointBehavior Members
public void AddBindingParameters(
ServiceEndpoint endpoint, BindingParameterCollection bindingParameters
) { return; }
public void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime)
{
clientRuntime.MessageInspectors.Add(new Inspector());
foreach (ClientOperation op in clientRuntime.Operations)
op.ParameterInspectors.Add(new Inspector());
}
public void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher)
{
endpointDispatcher.DispatchRuntime.MessageInspectors.Add(new Inspector());
foreach (DispatchOperation op in endpointDispatcher.DispatchRuntime.Operations)
op.ParameterInspectors.Add(new Inspector());
}
public void Validate(ServiceEndpoint endpoint){ return; }
#Region "IEndpointBehavior Members"
Public Sub AddBindingParameters(ByVal endpoint As ServiceEndpoint, ByVal bindingParameters _
As BindingParameterCollection) Implements IEndpointBehavior.AddBindingParameters
Return
End Sub
Public Sub ApplyClientBehavior(ByVal endpoint As ServiceEndpoint, ByVal clientRuntime As ClientRuntime) _
Implements IEndpointBehavior.ApplyClientBehavior
clientRuntime.MessageInspectors.Add(New Inspector())
For Each op As ClientOperation In clientRuntime.Operations
op.ParameterInspectors.Add(New Inspector())
Next op
End Sub
Public Sub ApplyDispatchBehavior(ByVal endpoint As ServiceEndpoint, ByVal endpointDispatcher As _
EndpointDispatcher) Implements IEndpointBehavior.ApplyDispatchBehavior
endpointDispatcher.DispatchRuntime.MessageInspectors.Add(New Inspector())
For Each op As DispatchOperation In endpointDispatcher.DispatchRuntime.Operations
op.ParameterInspectors.Add(New Inspector())
Next op
End Sub
Public Sub Validate(ByVal endpoint As ServiceEndpoint) Implements IEndpointBehavior.Validate
Return
End Sub
Hinweise
Die ClientOperation-Klasse ist der Ort für Änderungen an der Clientlaufzeit und die Einfügemarke für benutzerdefinierte Erweiterungen, die nur auf einen Dienstvorgang abzielen. (Verwenden Sie die -Klasse, um das ClientRuntime Clientlaufzeitverhalten für alle Nachrichten in einem Vertrag zu ändern. )
Installieren Sie ClientOperation-Änderungen unter Verwendung eines benutzerdefinierten Objekts für das Clientverhalten, entweder vom Typ IContractBehavior (um nach einem bestimmten Vorgang zu suchen, der geändert werden soll) oder vom Typ IOperationBehavior (kann dann durch Erstellen eines benutzerdefinierten Attributs angewendet werden).
Verwenden Sie die Operations-Eigenschaft, um das ClientOperation-Objekt zu suchen, das einen bestimmten Dienstvorgang darstellt.
Weitere Informationen zu Clients und der Clientarchitektur finden Sie unter Zugreifen auf Dienste mithilfe eines WCF-Clients und WCF-Clientarchitektur. Weitere Informationen zum Anpassen der Clientlaufzeit finden Sie unter Erweitern von Clients. Weitere Informationen zur Verwendung von Verhaltensweisen finden Sie unter Konfigurieren und Erweitern der Runtime mit Verhalten.
Die folgenden Eigenschaften ermöglichen es Ihnen, benutzerdefinierte Objekte einzufügen oder das Clientausführungsverhalten zu ändern:
Verwenden Sie die Formatter-Eigenschaft, um eine benutzerdefinierte IClientMessageFormatter-Implementierung für einen Vorgang einzufügen oder das aktuelle Formatierungsprogramm zu ändern.
Verwenden Sie die ParameterInspectors-Eigenschaft, um eine benutzerdefinierte IParameterInspector-Implementierung einzufügen oder die aktuelle Implementierung zu ändern.
Verwenden Sie die SerializeRequest-Eigenschaft, um zu steuern, wer eine ausgehende Nachricht serialisiert.
Verwenden Sie die DeserializeReply-Eigenschaft, um zu steuern, wer eine eingehende Nachricht deserialisiert.
Verwenden Sie die Action-Eigenschaft, um auf die WS-Addressing-Aktion der Anforderungsnachricht zuzugreifen, und die ReplyAction-Eigenschaft, um auf die Aktion der Antwortnachricht zuzugreifen.
Verwenden Sie BeginMethod und EndMethod, um anzugeben, welche Clientmethoden einem asynchronen Vorgang zugeordnet werden.
Verwenden Sie die FaultContractInfos-Eigenschaft, um eine Auflistung der angegebenen Typen abzurufen, die als Detailtyp in SOAP-Fehlern erscheinen können.
Verwenden Sie die IsInitiating-Eigenschaft und die IsTerminating-Eigenschaft, um zu steuern, ob eine Sitzung initiiert bzw. abgebrochen wird, wenn der Vorgang aufgerufen wird.
Verwenden Sie die IsOneWay-Eigenschaft, um zu steuern, ob der Client auf eine Antwort wartet, bevor er den Aufruf abschließt.
Verwenden Sie die Parent-Eigenschaft, um das darin enthaltene ClientRuntime-Objekt zu ermitteln.
Verwenden Sie die Name-Eigenschaft, um den Namen des Vorgangs abzurufen.
Verwenden Sie die SyncMethod-Eigenschaft, um zu steuern, welche Methode dem Vorgang zugeordnet wird.
Konstruktoren
ClientOperation(ClientRuntime, String, String) |
Initialisiert eine neue Instanz der ClientOperation-Klasse unter Verwendung der angegebenen ClientRuntime, des angegebenen Namens und der Aktionswerte. |
ClientOperation(ClientRuntime, String, String, String) |
Initialisiert eine neue Instanz der ClientOperation-Klasse unter Verwendung der angegebenen ClientRuntime, des Namens, der Aktion und der Antwortaktionswerte. |
Eigenschaften
Action |
Ruft die Aktion des Vorgangs ab. |
BeginMethod |
Ruft die Methode ab, die einem asynchronen Vorgang zugeordnet ist, bzw. legt diese fest. |
ClientParameterInspectors |
Ruft eine Sammlung von Parameterinspektorobjekten ab, die verwendet werden, um Parameter vor oder im Anschluss an einen Clientaufruf anzuzeigen oder zu ändern. |
DeserializeReply |
Ruft einen Wert ab, der angibt, ob der Wert der Formatter-Eigenschaft verwendet wird, um die Antwortnachricht zu deserialisieren, bzw. legt diesen fest. |
EndMethod |
Ruft die Methode ab bzw. legt diese fest, die die asynchrone Endmethode für den Vorgang implementiert. |
FaultContractInfos |
Ruft eine Auflistung von FaultContractInfo-Objekten ab, die die angegebenen SOAP-Fehler für diesen Vorgang darstellen. |
Formatter |
Ruft den Formatierer ab, der Objekte in Nachrichten serialisiert und Nachrichten in Objekte deserialisiert, bzw. legt ihn fest. |
IsInitiating |
Ruft einen Wert ab bzw. legt diesen fest, der angibt, ob eine Sitzung durch eine Nachricht an diesen Vorgang gestartet werden kann. |
IsOneWay |
Ruft einen Wert ab, der angibt, wenn der Vorgang kein unidirektionaler Vorgang ist, bzw. legt diesen fest. |
IsTerminating |
Ruft einen Wert ab, der angibt, ob dieser Vorgang der letzte in einer Sitzung ist, bzw. legt diesen fest. |
Name |
Ruft den Namen des Vorgangs ab. |
ParameterInspectors |
Ruft eine Auflistung von IParameterInspector-Objekten ab bzw. legt diese fest, die eingehende und ausgehende Objekte für eine bestimmte Clientmethode überprüfen und ändern kann. |
Parent |
Ruft das ClientRuntime-Objekt auf, das dies enthält. |
ReplyAction |
Ruft die Aktion der Antwortnachricht für diesen Vorgang ab. |
SerializeRequest |
Ruft einen Wert ab oder legt diesen fest, der angibt, ob das Formatter-Objekt eine ausgehende Nachricht serialisiert. |
SyncMethod |
Ruft die Methode ab, die diesem Vorgang zugeordnet ist, oder legt diese fest. |
TaskMethod |
Ruft die einer Aufgabe zugeordnete Methode ab oder legt diese fest. |
TaskTResult |
Ruft den Typ des Ergebnisses der Methode ab, die einer Aufgabe zugeordnet ist, oder legt diesen fest. |
Methoden
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |