ClientOperation 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
用于在客户端对象或客户端通道对象中修改或扩展特定协定操作的执行行为。 此类不能被继承。
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 |
获取操作 (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) |