《WF编程》系列之47 第八章 工作流中的通信
2010-10-01 08:20:45 来源:WEB开发网我们在第3章的简单范例只具有一个等待事件的活动。运行时不需要任何额外的信息发送这些有效内容。并不是所有的工作流都能这样简单。我们需要学会,一旦存在等待一个事件的多个活动,那么我们该如何把这些消息联系起来
相关性参数
WF使用相关性记号来确定在工作流中的特定活动和宿主中的本地通信服务之间的会话。通信接口默认是不具有相关性的,并且在工作流具有多个活动并发等待即将到来的事件时,我们只需要确定这些相关性记号就可以了。让我们看一个例子:
想象一下为我们的bug跟踪的应用程序开发一个工作流,这将要求小组中的成员对即将到来的一个bug进行投票。投票yes表示小组成员接受系统中的这个bug。投票no表示小组成员想要关闭这个bug。我们可能会像下面这样设计接口和事件参数类:
[ExternalDataExchange]
public interface IBugVotingService
{
void RequestVote(string userName);
event EventHandler<VoteCompletedEventArgs> VoteCompleted;
}
[Serializable]
public class VoteCompletedEventArgs : ExternalDataEventArgs
{
public VoteCompletedEventArgs(Guid instanceID, string userName, bool isYesVote)
: base(instanceID)
{
_userName = userName;
_isYesVote = isYesVote;
}
private string _userName;
public string UserName
{
get { return _userName; }
set { _userName = value; }
}
private bool _isYesVote;
public bool IsYesVote
{
get { return _isYesVote; }
set { _isYesVote = value; }
}
}
- ››WF 4.0 beta1中的跟踪机制
- ››WF 4.0的建模风格:顺序和Flowchart
- ››WF4.0 Beta1之旅(5):规则引擎的变化
- ››WF 4.0 beta1活动概览(1):Procedural
- ››WF4.0 Beta1之旅(4):Bookmark的使用
- ››WF4.0 Beta1之旅:基本介绍
- ››WF4.0 Beta1之旅(2):异常处理
- ››WF4.0 Beta1之旅(3):全新的FlowChart
- ››WF 应用场景指南: SharePoint 与工作流(上)
- ››WF 应用场景指南: 展现流(Presentation Flow)
- ››WF单元测试系列1:测试基本的Activity
- ››WF单元测试系列2:简单测试Activity的行为
更多精彩
赞助商链接