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 客户端体系结构访问服务。 有关自定义客户端运行时的详细信息,请参阅 扩展客户端。 有关使用行为的详细信息,请参阅 使用行为配置和扩展运行时

您可以使用下面的属性来插入自定义对象或修改客户端执行行为:

构造函数

ClientOperation(ClientRuntime, String, String)

使用指定的 ClientOperation、名称和操作值来初始化 ClientRuntime 类的新实例。

ClientOperation(ClientRuntime, String, String, String)

使用指定的 ClientOperation、名称、操作以及回复操作值来初始化 ClientRuntime 类的新实例。

属性

Action

获取操作 (operation) 的操作 (action)。

BeginMethod

获取或设置与异步操作关联的方法。

ClientParameterInspectors

获取用于查看或修改在客户调用前后参数的参数检查对象的集合。

DeserializeReply

获取或设置一个值,该值指示 Formatter 属性值是否用于反序列化回复消息。

EndMethod

获取或设置实现操作的异步结束方法的方法。

FaultContractInfos

获取 FaultContractInfo 对象的集合,这些对象表示此操作的指定的 SOAP 错误。

Formatter

获取或设置将对象序列化到消息,以及将消息反序列化到对象的格式化程序。

IsInitiating

获取或设置一个值,该值指示会话是否可以由向操作发送消息来启动。

IsOneWay

获取或设置一个值,该值指示操作是否为单向操作。

IsTerminating

获取或设置一个值,该值指示此操作是否为会话中最后一个操作。

Name

获取操作的名称。

ParameterInspectors

获取或设置 IParameterInspector 对象的集合,这些对象可以检查和修改特定的客户端方法的入站和出站对象。

Parent

获取包含的 ClientRuntime 对象。

ReplyAction

获取此操作 (operation) 的回复消息的操作 (action)。

SerializeRequest

获取或设置一个值,该值指定 Formatter 对象是否序列化出站消息。

SyncMethod

获取或设置与此操作关联的方法。

TaskMethod

获取或设置与任务关联的方法。

TaskTResult

获取或设置与任务关联的方法的结果的类型。

方法

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回表示当前对象的字符串。

(继承自 Object)

适用于