Freigeben über


ClientOperation Klasse

Definition

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

Das folgende Codebeispiel zeigt ein Einfügen eines System.ServiceModel.Description.IEndpointBehavior benutzerdefinierten Parameterinspektors in die einzelnen ClientOperation Eigenschaften ClientRuntime.Operations .

#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 Speicherort für Clientlaufzeitänderungen und Einfügemarke für benutzerdefinierte Erweiterungen, die nur auf einen Dienstvorgang ausgerichtet sind. (Verwenden Sie die ClientRuntime Klasse, um das Laufzeitverhalten des Clients für alle Nachrichten in einem Vertrag zu ändern. )

Installieren Sie ClientOperation Änderungen mithilfe eines benutzerdefinierten Clientverhaltensobjekts, entweder vom Typ IContractBehavior (um einen bestimmten zu ändernden Vorgang zu finden) oder vom Typ IOperationBehavior (der dann durch Erstellen eines benutzerdefinierten Attributs angewendet werden kann).

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 einer 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 Laufzeit mit Verhalten.

Mit den folgenden Eigenschaften können Sie benutzerdefinierte Objekte einfügen oder das Clientausführungsverhalten ändern:

  • Verwenden Sie die Formatter Eigenschaft, um eine benutzerdefinierte IClientMessageFormatter Implementierung für einen Vorgang einzufügen oder den aktuellen Formatierer 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 und die ReplyAction Eigenschaft zuzugreifen, um auf die Antwortnachrichtaktion zuzugreifen.

  • Verwenden Sie die BeginMethod und EndMethod geben Sie an, welche Clientmethoden einem asynchronen Vorgang zugeordnet sind.

  • Verwenden Sie die FaultContractInfos Eigenschaft, um eine Auflistung von angegebenen Typen abzurufen, die in SOAP-Fehlern als Detailtyp angezeigt werden können.

  • Verwenden Sie die Eigenschaften IsInitiating und IsTerminating, um zu steuern, ob eine Sitzung initiiert oder beendet wird, wenn der Vorgang aufgerufen wird.

  • Verwenden Sie die IsOneWay Eigenschaft, um zu steuern, ob der Client vor Abschluss des Aufrufs auf eine Antwort wartet.

  • Verwenden Sie die Parent Eigenschaft, um das enthaltende ClientRuntime Objekt abzurufen.

  • Verwenden Sie die Name Eigenschaft, um den Namen des Vorgangs abzurufen.

  • Verwenden Sie die SyncMethod Eigenschaft, um zu steuern, welche Methode dem Vorgang zugeordnet ist.

Konstruktoren

Name Beschreibung
ClientOperation(ClientRuntime, String, String, String)

Initialisiert eine neue Instanz der ClientOperation Klasse mithilfe der angegebenen ClientRuntimeWerte , Name, Aktion und Antwortaktion.

ClientOperation(ClientRuntime, String, String)

Initialisiert eine neue Instanz der ClientOperation Klasse mithilfe der angegebenen ClientRuntimeWerte, des Namens und der Aktionswerte.

Eigenschaften

Name Beschreibung
Action

Ruft die Aktion des Vorgangs ab.

BeginMethod

Dient zum Abrufen oder Festlegen der Methode, die einem asynchronen Vorgang zugeordnet ist.

ClientParameterInspectors

Ruft eine Auflistung von Parameterinspektorobjekten ab, die zum Anzeigen oder Ändern von Parametern vor oder nach einem Clientaufruf verwendet werden.

DeserializeReply

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob der Formatter Eigenschaftswert zum Deserialisieren der Antwortnachricht verwendet wird.

EndMethod

Dient zum Abrufen oder Festlegen der Methode, 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 deserialisiert Nachrichten in Objekte.

IsInitiating

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob eine Sitzung von einer Nachricht an diesen Vorgang gestartet werden kann.

IsOneWay

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob der Vorgang ein unidirektionales Vorgang ist.

IsTerminating

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob dieser Vorgang der letzte in einer Sitzung ist.

Name

Ruft den Namen des Vorgangs ab.

ParameterInspectors

Dient zum Abrufen oder Festlegen einer Auflistung von IParameterInspector Objekten, die eingehende und ausgehende Objekte für eine bestimmte Clientmethode überprüfen und ändern können.

Parent

Ruft das enthaltende ClientRuntime Objekt ab.

ReplyAction

Ruft die Aktion der Antwortnachricht für diesen Vorgang ab.

SerializeRequest

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das Formatter Objekt eine ausgehende Nachricht serialisiert.

SyncMethod

Dient zum Abrufen oder Festlegen der Methode, die diesem Vorgang zugeordnet ist.

TaskMethod

Dient zum Abrufen oder Festlegen der Methode, die einem Vorgang zugeordnet ist.

TaskTResult

Dient zum Abrufen oder Festlegen des Typs des Ergebnisses der Methode, die einem Vorgang zugeordnet ist.

Methoden

Name Beschreibung
Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für: