ClientOperation Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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) |