本主题列出由 Windows Communication Foundation (WCF) 定义的所有活动。
注释
还可以以编程方式定义活动以对用户跟踪进行分组。 有关详细信息,请参阅发出用户代码跟踪。
ServiceModel 活动
下表列出了主要使用方案的所有活动。
| 标签 | 活动名称 | 活动类型 | DESCRIPTION |
|---|---|---|---|
| A、M | 环境活动 | N/A(不受 ServiceModel 控制) | 该活动的 ID 是在调用任何 ServiceModel 代码(客户端或服务器端)之前,在 TLS 中设置的。 示例:在 WCF 客户端上调用 open 或调用 serviceHost.open 的活动。 |
| B | 构造 ChannelFactory。 ContractType :“[Type]”。 |
构造 | |
| C | 开放 [ClientBase|ChannelFactory]。 ContractType :“[Type]”。 |
开放 | |
| 我 | 关闭 [ClientBase|ChannelFactory]。 ContractType :“[Type]”。 | 关闭 | |
| M | 构造 ServiceHost。 ServiceType:“[Type]”。 | 构造 | |
| N | 打开 ServiceHost。 ServiceType:“[Type]”。 | 开放 | |
| Z | 关闭 ServiceHost。 ServiceType:“[Type]”。 | 关闭 | |
| O | 在“[address]”上侦听。 | ListenAt | 此活动与下一个活动是运输专用的。 ListenAt 活动表示映射到通道侦听器所侦听的地址的内容。 对于 MSMQ,它是队列本身,因为队列映射到一个地址。 对于面向连接的传输,此活动侦听传入的连接;对于 MSMQ,此活动侦听 MSMQ 消息。 此活动在 ServiceHost.Open() 期间创建,并且包含与创建和释放侦听器以及向所有 ReceiveBytes 活动传输数据有关的跟踪。 |
| P | 接收连接“[address]”上的字节。 接收 MSMQ 消息。 | ReceiveBytes | 在此活动中,将处理最终将获得 WCF 消息的数据。 在面向连接的传输或 http 中,需要等待传入的字节。 对于 TCP/named-pipe,此活动的生存期是连接的生存期,因为它是在创建连接时创建的。 对于 http, 它与消息请求的生命周期有关,并在消息发送时创建。 此活动包含与创建和释放连接(如果适用)以及向所有消息(对象)处理活动传输数据有关的跟踪。 对于 MSMQ,它就是用来检索 MSMQ 消息的活动。 |
| Q | 处理消息 [number]。 (注意,[number] 是一个从 1 开始单调递增的值。) | ProcessMessage | 处理传入消息。 当收到所有数据(字节、MSMQ 消息)以形成 WCF 消息对象时,此活动将启动。 此活动内的跟踪负责进行标头处理。 一旦形成可以调度的消息,在查找对应的活动 ID 后,随即切换到 ServiceHost“处理操作”活动。 |
| D、S | 处理操作“[action]”。 | ProcessAction | 通过传输/安全/RM 堆栈处理消息,以便将消息调度到接收时的用户代码,并在发送时按相反的顺序进行处理。 在服务器上,如果活动 ID 是在消息头中通过“活动传播”发送的,则此活动使用传播的活动 ID;否则,创建一个新的 GUID。 请求/答复协定的响应消息也是在该活动中处理的。 |
| T | 执行“[IContract.Operation]”。 | ExecuteUserCode | 在服务端调度后执行用户代码。 此活动提供一个边界,用于从用户提供的代码中划出 ServiceHost 代码。 |
安全活动
下表列出了与安全性相关的所有活动。
| 活动名称 | 活动类型 | DESCRIPTION |
|---|---|---|
| 设置安全会话 | SetupSecurity | 仅在客户端上存在。 包含用于身份验证和设置安全上下文的所有 RST*/SCT 交换。 如果 propagateActivity=true,此活动将与服务对应的进程操作 RST*/SCT 活动合并。 |
| 关闭安全会话 | SetupSecurity | 存在于客户端。 包含用于关闭安全会话的“取消”消息交换。 如果 propagateActivity=true,此活动将与服务中的“取消”流程动作合并。 |
下表列出了与 COM+相关的所有活动。
| 活动名称 | 活动类型 | DESCRIPTION |
|---|---|---|
| 创建 COM+ 实例 | TransferToCOMPlus | WCF 代码中的每个 COM+ 调用对应于 1 个活动实例 |
| 执行 COM+ <操作> | TransferToCOMPlus | WCF 代码中的每个 COM+ 调用对应于 1 个活动实例 |
WMI 活动
下表列出了与 WMI 相关的所有活动。
| 活动名称 | 活动类型 | DESCRIPTION |
|---|---|---|
| WMI get | WMIGetObject | 用户正在从 WMI 检索数据。 |
| WMI 放置 | WmiPutInstance | 用户正在使用 WMI 更新数据。 |