ClientOperation Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Используется для изменения или поведения исполнения+ определенной операции контракта в объекте клиента или в объекте канала клиента. Этот класс не наследуется.
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
- Наследование
-
ClientOperation
- Наследование
Примеры
В следующем примере кода показана вставка интерфейсом System.ServiceModel.Description.IEndpointBehavior пользовательских инспекторов параметров во все объекты ClientOperation в свойстве 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
Комментарии
Класс ClientOperation - это расположение для изменений клиента, вносимых во время выполнения, и точка вставки для пользовательских расширений, применяемых только к одной операции службы. (Чтобы изменить поведение времени выполнения клиента для всех сообщений в контракте ClientRuntime , используйте класс . )
Установите изменения ClientOperation с помощью пользовательского объекта поведения клиента типа IContractBehavior (чтобы найти определенную операцию для изменения) или типа IOperationBehavior (который затем можно применить, создав пользовательский атрибут).
Используйте свойство Operations, чтобы найти объект ClientOperation, который представляет определенную операцию службы.
Дополнительные сведения о клиентах и их архитектуре см. в разделах Доступ к службам с помощью клиента WCF и Архитектура клиента WCF. Дополнительные сведения о настройке среды выполнения клиента см. в разделе Расширение клиентов. Дополнительные сведения об использовании поведений см. в разделе Настройка и расширение среды выполнения с помощью поведения.
Следующие свойства позволяют вставить пользовательские объекты или изменить поведение исполнения клиента:
Используйте свойство Formatter для вставки пользовательской реализации IClientMessageFormatter для операции или изменения текущего модуля форматирования.
Используйте свойство ParameterInspectors для вставки пользовательской реализации IParameterInspector или для изменения текущей реализации.
Используйте свойство SerializeRequest, чтобы определить, кем выполняется сериализация исходящего сообщения.
Используйте свойство DeserializeReply, чтобы определить, кем выполняется десериализация входящего сообщения.
Используйте свойство Action для доступа к действию WS-Addressing сообщения запроса, а свойство ReplyAction — для доступа к действию сообщения ответа.
Используйте BeginMethod и EndMethod для указания клиентских методов, которые связаны с асинхронной операцией.
Используйте свойство FaultContractInfos для получения коллекции определенных типов, которые могут содержаться в ошибках SOAP в качестве типа сведений.
Используйте свойства IsInitiating и IsTerminating, чтобы задать соответственно инициализацию или завершение сеанса при вызове операции.
Используйте свойство IsOneWay, чтобы определить, будет ли клиент ожидать ответа перед завершением вызова.
Используйте свойство Parent для получения родительского объекта ClientRuntime.
Используйте свойство Name для получения имени операции.
Используйте свойство SyncMethod для определения метода, который сопоставлен операции.
Конструкторы
ClientOperation(ClientRuntime, String, String) |
Инициализирует новый экземпляр класса ClientOperation, используя указанные значения ClientRuntime, имени и действия. |
ClientOperation(ClientRuntime, String, String, String) |
Инициализирует новый экземпляр класса ClientOperation, используя указанные значения ClientRuntime, имени, действия и ответного действия. |
Свойства
Action |
Возвращает действие операции. |
BeginMethod |
Возвращает или задает метод, связанный с асинхронной операцией. |
ClientParameterInspectors |
Получает коллекцию объектов инспектор параметров, используемых для просмотра или изменения параметров до или после вызова клиента. |
DeserializeReply |
Возвращает или задает значение, указывающее, используется ли значение свойства Formatter для десериализации ответного сообщения. |
EndMethod |
Возвращает или задает метод, который реализует асинхронный метод «End» для данной операции. |
FaultContractInfos |
Возвращает коллекцию объектов FaultContractInfo, которые представляют ошибки SOAP, указанные для данной операции. |
Formatter |
Возвращает или задает модуль форматирования, который выполняет сериализацию объектов в сообщения и десериализацию сообщений в объекты. |
IsInitiating |
Возвращает или задает значение, указывающее, можно ли запустить сеанс сообщением к данной операции. |
IsOneWay |
Возвращает или задает значение, указывающее, является ли операция односторонней. |
IsTerminating |
Возвращает или задает значение, указывающее, является ли данная операция последней в сеансе. |
Name |
Возвращает имя операции. |
ParameterInspectors |
Возвращает или задает коллекцию объектов IParameterInspector, которые могут проверять и изменять входящие и исходящие объекты для определенного клиентского метода. |
Parent |
Возвращает содержащий объект ClientRuntime. |
ReplyAction |
Возвращает действие ответного сообщения для данной операции. |
SerializeRequest |
Возвращает или задает значение, которое указывает, выполняет ли объект Formatter сериализацию исходящего сообщения. |
SyncMethod |
Возвращает или задает метод, который связан с данной операцией. |
TaskMethod |
Получает или задает метод, связанный с задачей. |
TaskTResult |
Получает или задает тип результата метода, связанного с задачей. |
Методы
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |