ClientOperation ClientOperation ClientOperation ClientOperation Class

Определение

Используется для изменения или поведения исполнения+ определенной операции контракта в объекте клиента или в объекте канала клиента.Used to modify or extend the execution behavior of a specific contract operation in a client object or client channel object. Этот класс не наследуется.This class cannot be inherited.

public ref class ClientOperation sealed
public sealed class ClientOperation
type ClientOperation = class
Public NotInheritable Class ClientOperation
Наследование
ClientOperationClientOperationClientOperationClientOperation

Примеры

В следующем примере кода показана вставка интерфейсом System.ServiceModel.Description.IEndpointBehavior пользовательских инспекторов параметров во все объекты ClientOperation в свойстве ClientRuntime.Operations.The following code example shows an System.ServiceModel.Description.IEndpointBehavior inserting a custom parameter inspector into each ClientOperation in the ClientRuntime.Operations property.

#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

Комментарии

Класс ClientOperation - это расположение для изменений клиента, вносимых во время выполнения, и точка вставки для пользовательских расширений, применяемых только к одной операции службы.The ClientOperation class is the location for client run-time modifications and insertion point for custom extensions that are scoped to only one service operation. (Чтобы изменить поведение клиента во время выполнения для всех сообщений в контракте, используйте ClientRuntime класс.(To modify client run-time behavior for all messages in a contract, use the ClientRuntime class. ))

Установите изменения ClientOperation с помощью пользовательского объекта поведения клиента типа IContractBehavior (чтобы найти определенную операцию для изменения) или типа IOperationBehavior (который затем можно применить, создав пользовательский атрибут).Install ClientOperation modifications using a custom client behavior object, either of type IContractBehavior (to find a particular operation to modify) or of type IOperationBehavior (which can then be applied by creating a custom attribute).

Используйте свойство Operations, чтобы найти объект ClientOperation, который представляет определенную операцию службы.Use the Operations property to locate the ClientOperation object that represents a particular service operation.

Дополнительные сведения о клиентах и клиентской архитектуре см. в разделе доступ к службам с помощью клиента WCF и клиентской архитектуры WCF.For more information about clients and the client architecture, see Accessing Services Using a WCF Client and WCF Client Architecture. Дополнительные сведения о настройке среды выполнения клиента см. в разделе расширение клиентов.For more information about customizing the client runtime, see Extending Clients. Дополнительные сведения об использовании поведений см. в разделе Настройка и расширение среды выполнения с помощью поведений.For more information about using behaviors, see Configuring and Extending the Runtime with Behaviors.

Следующие свойства позволяют вставить пользовательские объекты или изменить поведение исполнения клиента:The following properties enable you to insert custom objects or modify the client execution behavior:

  • Используйте свойство Formatter для вставки пользовательской реализации IClientMessageFormatter для операции или изменения текущего модуля форматирования.Use the Formatter property to insert a custom IClientMessageFormatter implementation for an operation or modify the current formatter.

  • Используйте свойство ParameterInspectors для вставки пользовательской реализации IParameterInspector или для изменения текущей реализации.Use the ParameterInspectors property to insert a custom IParameterInspector implementation or to modify the current one.

  • Используйте свойство SerializeRequest, чтобы определить, кем выполняется сериализация исходящего сообщения.Use the SerializeRequest property to control who serializes an outbound message.

  • Используйте свойство DeserializeReply, чтобы определить, кем выполняется десериализация входящего сообщения.Use the DeserializeReply property to control who deserializes an inbound message.

  • Используйте свойство Action для доступа к действию WS-Addressing сообщения запроса, а свойство ReplyAction — для доступа к действию сообщения ответа.Use the Action property to access the WS-Addressing action of the request message and the ReplyAction property to access the response message action.

  • Используйте BeginMethod и EndMethod для указания клиентских методов, которые связаны с асинхронной операцией.Use the BeginMethod and EndMethod to specify which client methods are associated with an asynchronous operation.

  • Используйте свойство FaultContractInfos для получения коллекции определенных типов, которые могут содержаться в ошибках SOAP в качестве типа сведений.Use the FaultContractInfos property to get a collection of specified types that can appear in SOAP faults as the detail type.

  • Используйте свойства IsInitiating и IsTerminating, чтобы задать соответственно инициализацию или завершение сеанса при вызове операции.Use the IsInitiating and IsTerminating properties to control whether a session is initiated or is torn down, respectively, when the operation is called.

  • Используйте свойство IsOneWay, чтобы определить, будет ли клиент ожидать ответа перед завершением вызова.Use the IsOneWay property to control whether the client waits for a response before completing the invocation.

  • Используйте свойство Parent для получения родительского объекта ClientRuntime.Use the Parent property to obtain the containing ClientRuntime object.

  • Используйте свойство Name для получения имени операции.Use the Name property to get the name of the operation.

  • Используйте свойство SyncMethod для определения метода, который сопоставлен операции.Use the SyncMethod property to control which method is mapped to the operation.

Конструкторы

ClientOperation(ClientRuntime, String, String) ClientOperation(ClientRuntime, String, String) ClientOperation(ClientRuntime, String, String) ClientOperation(ClientRuntime, String, String)

Инициализирует новый экземпляр класса ClientOperation, используя указанные значения ClientRuntime, имени и действия.Initializes a new instance of the ClientOperation class using the specified ClientRuntime, name, and action values.

ClientOperation(ClientRuntime, String, String, String) ClientOperation(ClientRuntime, String, String, String) ClientOperation(ClientRuntime, String, String, String) ClientOperation(ClientRuntime, String, String, String)

Инициализирует новый экземпляр класса ClientOperation, используя указанные значения ClientRuntime, имени, действия и ответного действия.Initializes a new instance of the ClientOperation class using the specified ClientRuntime, name, action, and reply action values.

Свойства

Action Action Action Action

Возвращает действие операции.Gets the action of the operation.

BeginMethod BeginMethod BeginMethod BeginMethod

Возвращает или задает метод, связанный с асинхронной операцией.Gets or sets the method associated with an asynchronous operation.

ClientParameterInspectors ClientParameterInspectors ClientParameterInspectors ClientParameterInspectors

Получает коллекцию объектов инспектор параметров, используемых для просмотра или изменения параметров до или после вызова клиента.Gets a collection of parameter inspector objects used to view or modify parameters prior to or subsequent to a client call.

DeserializeReply DeserializeReply DeserializeReply DeserializeReply

Возвращает или задает значение, указывающее, используется ли значение свойства Formatter для десериализации ответного сообщения.Gets or sets a value that indicates whether the Formatter property value is used to deserialize the reply message.

EndMethod EndMethod EndMethod EndMethod

Возвращает или задает метод, который реализует асинхронный метод «End» для данной операции.Gets or sets the method that implements the asynchronous end method for the operation.

FaultContractInfos FaultContractInfos FaultContractInfos FaultContractInfos

Возвращает коллекцию объектов FaultContractInfo, которые представляют ошибки SOAP, указанные для данной операции.Gets a collection of FaultContractInfo objects that represent the specified SOAP faults for this operation.

Formatter Formatter Formatter Formatter

Возвращает или задает модуль форматирования, который выполняет сериализацию объектов в сообщения и десериализацию сообщений в объекты.Gets or sets the formatter that serializes objects into messages and deserializes messages into objects.

IsInitiating IsInitiating IsInitiating IsInitiating

Возвращает или задает значение, указывающее, можно ли запустить сеанс сообщением к данной операции.Gets or sets a value that indicates whether a session can be started by a message to this operation.

IsOneWay IsOneWay IsOneWay IsOneWay

Возвращает или задает значение, указывающее, является ли операция односторонней.Gets or sets a value that indicates if the operation is a one-way operation.

IsTerminating IsTerminating IsTerminating IsTerminating

Возвращает или задает значение, указывающее, является ли данная операция последней в сеансе.Gets or sets a value that indicates if this operation is the last one in a session.

Name Name Name Name

Возвращает имя операции.Gets the name of the operation.

ParameterInspectors ParameterInspectors ParameterInspectors ParameterInspectors

Возвращает или задает коллекцию объектов IParameterInspector, которые могут проверять и изменять входящие и исходящие объекты для определенного клиентского метода.Gets or sets a collection of IParameterInspector objects that can inspect and modify inbound and outbound objects for a particular client method.

Parent Parent Parent Parent

Возвращает содержащий объект ClientRuntime.Gets the containing ClientRuntime object.

ReplyAction ReplyAction ReplyAction ReplyAction

Возвращает действие ответного сообщения для данной операции.Gets the action of the reply message for this operation.

SerializeRequest SerializeRequest SerializeRequest SerializeRequest

Возвращает или задает значение, которое указывает, выполняет ли объект Formatter сериализацию исходящего сообщения.Gets or sets a value that specifies whether the Formatter object serializes an outbound message.

SyncMethod SyncMethod SyncMethod SyncMethod

Возвращает или задает метод, который связан с данной операцией.Gets or sets the method that is associated with this operation.

TaskMethod TaskMethod TaskMethod TaskMethod

Получает или задает метод, связанный с задачей.Gets or sets the method associated with a task.

TaskTResult TaskTResult TaskTResult TaskTResult

Получает или задает тип результата метода, связанного с задачей.Gets or sets the type of the result of the method that is associated with a task.

Методы

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

Применяется к