图书馆预订系统的工作流实现与应用
1. 工作流活动概述
1.1 ReceiveReply 活动
ReceiveReply 活动必须与 Send 活动关联,用于监听 Send 活动所发送消息的响应。通过将 Request 属性设置为 Send 活动的命名实例(如 submitRequest)来实现关联。Content 属性定义了响应消息(ReservationResponse 类)的存储位置,通常设置为工作流的 Response 输出参数,以便在工作流完成时供主机应用程序使用。
1.2 Receive 活动
Receive 活动的命名实例(receiveRequest)用于接收 WCF 消息。在接收端,无需指定绑定或地址,但需要定义服务契约。ServiceContractName 属性指定使用 ILibraryReservation 服务契约,OperationName 属性指定 RequestBook() 方法。CanCreateInstance 设置为 true 表示该活动执行时将创建一个新的工作流实例,且此活动必须是工作流中的第一个活动。Content 属性用于存储传入消息,并将其配置为存储在 request 变量中。CorrelatesWith 属性使用 requestHandle 变量。
1.3 SendReply 活动
SendReply 活动必须与 Receive 活动关联,通过将 Request 属性设置为 Receive 活动的引用(如 receiveRequest)来实现。Content 属性定义了要发送回请求者的消息,通常设置为 response 变量。