ClientOperation Klas

Definitie

Wordt gebruikt om het uitvoeringsgedrag van een specifieke contractbewerking in een clientobject of clientkanaalobject te wijzigen of uit te breiden. Deze klasse kan niet worden overgenomen.

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
Overname
ClientOperation
Overname

Voorbeelden

In het volgende codevoorbeeld ziet u een System.ServiceModel.Description.IEndpointBehavior aangepaste parametercontrole invoegen in elk ClientOperation van de ClientRuntime.Operations eigenschappen.

#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

Opmerkingen

De ClientOperation klasse is de locatie voor runtimewijzigingen van de client en het invoegpunt voor aangepaste extensies die beperkt zijn tot slechts één servicebewerking. (Als u het runtimegedrag van de client wilt wijzigen voor alle berichten in een contract, gebruikt u de ClientRuntime klasse. )

Installeer ClientOperation wijzigingen met behulp van een aangepast clientgedragsobject, van het type IContractBehavior (om een bepaalde bewerking te vinden die moet worden gewijzigd) of van het type IOperationBehavior (dat vervolgens kan worden toegepast door een aangepast kenmerk te maken).

Gebruik de Operations eigenschap om het ClientOperation object te zoeken dat een bepaalde servicebewerking vertegenwoordigt.

Zie Accessing Services using a WCF Client and WCF Client Architecture (Toegang tot services met behulp van een WCF-client en WCF-clientarchitectuur) voor meer informatie over clients en de clientarchitectuur. Zie Clients uitbreiden voor meer informatie over het aanpassen van de clientruntime. Zie De runtime configureren en uitbreiden met gedrag voor meer informatie over het gebruik van gedrag.

Met de volgende eigenschappen kunt u aangepaste objecten invoegen of het gedrag van de clientuitvoering wijzigen:

  • Gebruik de Formatter eigenschap om een aangepaste IClientMessageFormatter implementatie in te voegen voor een bewerking of om de huidige formatter te wijzigen.

  • Gebruik de ParameterInspectors eigenschap om een aangepaste IParameterInspector implementatie in te voegen of om de huidige te wijzigen.

  • Gebruik de SerializeRequest eigenschap om te bepalen wie een uitgaand bericht serialiseert.

  • Gebruik de DeserializeReply eigenschap om te bepalen wie een binnenkomend bericht deserializeert.

  • Gebruik de Action eigenschap voor toegang tot de actie WS-Addressing van het aanvraagbericht en de ReplyAction eigenschap voor toegang tot de actie antwoordbericht.

  • Gebruik de BeginMethod en EndMethod om op te geven welke clientmethoden zijn gekoppeld aan een asynchrone bewerking.

  • Gebruik de FaultContractInfos eigenschap om een verzameling opgegeven typen op te halen die in SOAP-fouten kunnen worden weergegeven als het detailtype.

  • Gebruik de IsInitiating en IsTerminating eigenschappen om te bepalen of een sessie wordt gestart of wordt afgebroken wanneer de bewerking wordt aangeroepen.

  • Gebruik de IsOneWay eigenschap om te bepalen of de client wacht op een antwoord voordat de aanroep wordt voltooid.

  • Gebruik de Parent eigenschap om het bijbehorende ClientRuntime object te verkrijgen.

  • Gebruik de Name eigenschap om de naam van de bewerking op te halen.

  • Gebruik de SyncMethod eigenschap om te bepalen welke methode aan de bewerking is toegewezen.

Constructors

Name Description
ClientOperation(ClientRuntime, String, String, String)

Initialiseert een nieuw exemplaar van de ClientOperation klasse met behulp van de opgegeven ClientRuntimewaarden, naam, actie en antwoordactie.

ClientOperation(ClientRuntime, String, String)

Initialiseert een nieuw exemplaar van de ClientOperation klasse met behulp van de opgegeven ClientRuntime, naam en actiewaarden.

Eigenschappen

Name Description
Action

Hiermee haalt u de actie van de bewerking op.

BeginMethod

Hiermee haalt u de methode op die is gekoppeld aan een asynchrone bewerking of stelt u deze in.

ClientParameterInspectors

Hiermee haalt u een verzameling parametercontroleobjecten op die worden gebruikt om parameters vóór of na een clientaanroep weer te geven of te wijzigen.

DeserializeReply

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de Formatter eigenschapswaarde wordt gebruikt om het antwoordbericht te deserialiseren.

EndMethod

Hiermee haalt u de methode op waarmee de asynchrone eindmethode voor de bewerking wordt geïmplementeerd of ingesteld.

FaultContractInfos

Hiermee haalt u een verzameling FaultContractInfo objecten op die de opgegeven SOAP-fouten voor deze bewerking vertegenwoordigen.

Formatter

Hiermee haalt u de formatter op waarmee objecten worden geserialiseerd in berichten en worden berichten gedeserialiseerd in objecten.

IsInitiating

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of een sessie kan worden gestart door een bericht naar deze bewerking.

IsOneWay

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de bewerking een eenrichtingsbewerking is.

IsTerminating

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of deze bewerking de laatste in een sessie is.

Name

Hiermee haalt u de naam van de bewerking op.

ParameterInspectors

Hiermee haalt u een verzameling IParameterInspector objecten op die binnenkomende en uitgaande objecten voor een bepaalde clientmethode kunnen inspecteren en wijzigen.

Parent

Hiermee haalt u het bijbehorende ClientRuntime object op.

ReplyAction

Hiermee haalt u de actie van het antwoordbericht voor deze bewerking op.

SerializeRequest

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het Formatter object een uitgaand bericht serialiseert.

SyncMethod

Hiermee haalt u de methode op die aan deze bewerking is gekoppeld of stelt u deze in.

TaskMethod

Hiermee haalt u de methode op die aan een taak is gekoppeld of stelt u deze in.

TaskTResult

Hiermee haalt u het type op van het resultaat van de methode die aan een taak is gekoppeld.

Methoden

Name Description
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op