Udostępnij za pośrednictwem


ClientOperation Klasa

Definicja

Służy do modyfikowania lub rozszerzania zachowania wykonywania określonej operacji kontraktu w obiekcie klienta lub obiekcie kanału klienta. Klasa ta nie może być dziedziczona.

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

Przykłady

Poniższy przykład kodu przedstawia System.ServiceModel.Description.IEndpointBehavior wstawianie niestandardowego inspektora parametrów do każdej ClientOperation z właściwości 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

Uwagi

Klasa ClientOperation jest lokalizacją modyfikacji czasu wykonywania klienta i punktu wstawiania dla rozszerzeń niestandardowych, które są ograniczone tylko do jednej operacji usługi. (Aby zmodyfikować zachowanie czasu wykonywania klienta dla wszystkich komunikatów w kontrakcie, użyj ClientRuntime klasy ).

Zainstaluj ClientOperation modyfikacje przy użyciu niestandardowego obiektu zachowania klienta, dowolnego typu IContractBehavior (aby znaleźć określoną operację do zmodyfikowania) lub typu IOperationBehavior (który można następnie zastosować przez utworzenie atrybutu niestandardowego).

Użyj właściwości , Operations aby zlokalizować ClientOperation obiekt reprezentujący określoną operację usługi.

Aby uzyskać więcej informacji na temat klientów i architektury klienta, zobacz Accessing Services Using a WCF Client and WCF Client Architecture (Uzyskiwanie dostępu do usług przy użyciu klienta WCF i architektury klienta WCF). Aby uzyskać więcej informacji na temat dostosowywania środowiska uruchomieniowego klienta, zobacz Rozszerzanie klientów. Aby uzyskać więcej informacji na temat używania zachowań, zobacz Konfigurowanie i rozszerzanie środowiska uruchomieniowego przy użyciu zachowań.

Następujące właściwości umożliwiają wstawianie obiektów niestandardowych lub modyfikowanie zachowania wykonywania klienta:

  • Formatter Użyj właściwości , aby wstawić niestandardową IClientMessageFormatter implementację dla operacji lub zmodyfikować bieżący formater.

  • ParameterInspectors Użyj właściwości , aby wstawić implementację niestandardową IParameterInspector lub zmodyfikować bieżącą.

  • SerializeRequest Użyj właściwości , aby kontrolować, kto serializuje komunikat wychodzący.

  • DeserializeReply Użyj właściwości , aby kontrolować, kto deserializuje komunikat przychodzący.

  • Action Użyj właściwości , aby uzyskać dostęp do akcji WS-Addressing komunikatu żądania i ReplyAction właściwości w celu uzyskania dostępu do akcji komunikatu odpowiedzi.

  • Użyj elementu BeginMethod i EndMethod , aby określić, które metody klienta są skojarzone z operacją asynchroniczną.

  • FaultContractInfos Użyj właściwości , aby uzyskać kolekcję określonych typów, które mogą występować w błędach protokołu SOAP jako typ szczegółów.

  • IsInitiating Użyj właściwości iIsTerminating, aby kontrolować, czy sesja jest inicjowana, czy też jest rozdawana odpowiednio po wywołaniu operacji.

  • IsOneWay Użyj właściwości , aby określić, czy klient czeka na odpowiedź przed ukończeniem wywołania.

  • Parent Użyj właściwości , aby uzyskać obiekt zawierającyClientRuntime.

  • Name Użyj właściwości , aby uzyskać nazwę operacji.

  • Użyj właściwości , SyncMethod aby kontrolować, która metoda jest mapowana na operację.

Konstruktory

ClientOperation(ClientRuntime, String, String)

Inicjuje ClientOperation nowe wystąpienie klasy przy użyciu określonych ClientRuntimewartości , nazwy i akcji.

ClientOperation(ClientRuntime, String, String, String)

Inicjuje ClientOperation nowe wystąpienie klasy przy użyciu określonych ClientRuntimewartości akcji , nazwy, akcji i odpowiedzi.

Właściwości

Action

Pobiera akcję operacji.

BeginMethod

Pobiera lub ustawia metodę skojarzną z operacją asynchroniczną.

ClientParameterInspectors

Pobiera kolekcję obiektów inspektora parametrów używanych do wyświetlania lub modyfikowania parametrów przed lub po wywołaniu klienta.

DeserializeReply

Pobiera lub ustawia wartość wskazującą, czy Formatter wartość właściwości jest używana do deserializacji wiadomości odpowiedzi.

EndMethod

Pobiera lub ustawia metodę, która implementuje metodę asynchroniczną end dla operacji.

FaultContractInfos

Pobiera kolekcję FaultContractInfo obiektów reprezentujących określone błędy protokołu SOAP dla tej operacji.

Formatter

Pobiera lub ustawia formater, który serializuje obiekty w komunikaty i deserializuje komunikaty do obiektów.

IsInitiating

Pobiera lub ustawia wartość wskazującą, czy sesja może zostać uruchomiona przez komunikat do tej operacji.

IsOneWay

Pobiera lub ustawia wartość, która wskazuje, czy operacja jest operacją jednokierunkową.

IsTerminating

Pobiera lub ustawia wartość wskazującą, czy ta operacja jest ostatnią operacją w sesji.

Name

Pobiera nazwę operacji.

ParameterInspectors

Pobiera lub ustawia kolekcję IParameterInspector obiektów, które mogą sprawdzać i modyfikować obiekty przychodzące i wychodzące dla określonej metody klienta.

Parent

Pobiera obiekt zawierający ClientRuntime .

ReplyAction

Pobiera akcję wiadomości odpowiedzi dla tej operacji.

SerializeRequest

Pobiera lub ustawia wartość określającą, czy Formatter obiekt serializuje komunikat wychodzący.

SyncMethod

Pobiera lub ustawia metodę skojarzona z tą operacją.

TaskMethod

Pobiera lub ustawia metodę skojarzona z zadaniem.

TaskTResult

Pobiera lub ustawia typ wyniku metody skojarzonej z zadaniem.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy