ClientOperation Klass

Definition

Används för att ändra eller utöka körningsbeteendet för en specifik kontraktsåtgärd i ett klientobjekt eller klientkanalobjekt. Det går inte att ärva den här klassen.

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

Exempel

I följande kodexempel visas en System.ServiceModel.Description.IEndpointBehavior infogning av en anpassad parameterkontroll i var och ClientOperation en i ClientRuntime.Operations egenskapen.

#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

Kommentarer

Klassen ClientOperation är platsen för klientkörningsändringar och insättningspunkt för anpassade tillägg som endast är begränsade till en tjänståtgärd. (Om du vill ändra körningsbeteendet för klienten för alla meddelanden i ett kontrakt använder du ClientRuntime klassen . )

Installera ClientOperation ändringar med hjälp av ett anpassat klientbeteendeobjekt, antingen av typen IContractBehavior (för att hitta en viss åtgärd att ändra) eller av typen IOperationBehavior (som sedan kan användas genom att skapa ett anpassat attribut).

Använd egenskapen Operations för att hitta objektet ClientOperation som representerar en viss tjänståtgärd.

Mer information om klienter och klientarkitektur finns i Accessing Services Using a WCF Client and WCF Client Architecture (Åtkomst till tjänster med hjälp av en WCF-klient - och WCF-klientarkitektur). Mer information om hur du anpassar klientkörningen finns i Utöka klienter. Mer information om hur du använder beteenden finns i Konfigurera och utöka körningen med beteenden.

Med följande egenskaper kan du infoga anpassade objekt eller ändra beteendet för klientkörning:

  • Använd egenskapen Formatter för att infoga en anpassad IClientMessageFormatter implementering för en åtgärd eller ändra den aktuella formateringen.

  • Använd egenskapen ParameterInspectors för att infoga en anpassad IParameterInspector implementering eller för att ändra den aktuella.

  • Använd egenskapen SerializeRequest för att styra vem som serialiserar ett utgående meddelande.

  • Använd egenskapen DeserializeReply för att styra vem som deserialiserar ett inkommande meddelande.

  • Action Använd egenskapen för att komma åt WS-Addressing åtgärden för begärandemeddelandet och ReplyAction egenskapen för att komma åt åtgärden för svarsmeddelande.

  • BeginMethod Använd och EndMethod för att ange vilka klientmetoder som är associerade med en asynkron åtgärd.

  • Använd egenskapen FaultContractInfos för att hämta en samling av angivna typer som kan visas i SOAP-fel som detaljtyp.

  • Använd egenskaperna IsInitiating och IsTerminating för att kontrollera om en session initieras eller avslutas när åtgärden anropas.

  • Använd egenskapen IsOneWay för att kontrollera om klienten väntar på ett svar innan anropet slutförs.

  • Använd egenskapen Parent för att hämta det innehållande ClientRuntime objektet.

  • Använd egenskapen Name för att hämta namnet på åtgärden.

  • Använd egenskapen SyncMethod för att styra vilken metod som mappas till åtgärden.

Konstruktorer

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

Initierar en ny instans av klassen med hjälp av ClientOperation de angivna ClientRuntimevärdena , namn, åtgärd och svarsåtgärd.

ClientOperation(ClientRuntime, String, String)

Initierar en ny instans av ClientOperation klassen med de angivna ClientRuntimevärdena , namn och åtgärd.

Egenskaper

Name Description
Action

Hämtar åtgärdens åtgärd.

BeginMethod

Hämtar eller anger den metod som är associerad med en asynkron åtgärd.

ClientParameterInspectors

Hämtar en samling parameterkontrollobjekt som används för att visa eller ändra parametrar före eller efter ett klientanrop.

DeserializeReply

Hämtar eller anger ett värde som anger om egenskapsvärdet Formatter används för att deserialisera svarsmeddelandet.

EndMethod

Hämtar eller anger den metod som implementerar den asynkrona slutmetoden för åtgärden.

FaultContractInfos

Hämtar en samling FaultContractInfo objekt som representerar de angivna SOAP-felen för den här åtgärden.

Formatter

Hämtar eller anger formatören som serialiserar objekt till meddelanden och deserialiserar meddelanden till objekt.

IsInitiating

Hämtar eller anger ett värde som anger om en session kan startas av ett meddelande till den här åtgärden.

IsOneWay

Hämtar eller anger ett värde som anger om åtgärden är en enkelriktad åtgärd.

IsTerminating

Hämtar eller anger ett värde som anger om den här åtgärden är den sista i en session.

Name

Hämtar namnet på åtgärden.

ParameterInspectors

Hämtar eller anger en samling IParameterInspector objekt som kan inspektera och ändra inkommande och utgående objekt för en viss klientmetod.

Parent

Hämtar det innehållande ClientRuntime objektet.

ReplyAction

Hämtar åtgärden för svarsmeddelandet för den här åtgärden.

SerializeRequest

Hämtar eller anger ett värde som anger om objektet Formatter serialiserar ett utgående meddelande.

SyncMethod

Hämtar eller anger den metod som är associerad med den här åtgärden.

TaskMethod

Hämtar eller anger den metod som är associerad med en uppgift.

TaskTResult

Hämtar eller anger typen av resultat för den metod som är associerad med en uppgift.

Metoder

Name Description
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för