在使用WF 4.0时,我注意到WorkflowApplication类公开了动作属性(Aborted,Complete等等)而不是事件。 有具体原因吗?我应该何时更喜欢动作属性而不是事件?
谢谢
答案 0 :(得分:6)
哇;我看到what you mean;这让我感到很惊讶。
但是,如果你想不出在这里使用属性的好理由(我不能),那么坚持event
s;他们避免了一系列问题(意外取消订阅和不恰当的调用是最大的问题)。
我唯一能想到的是也许他们需要这个用于序列化目的,但我可以想到其他方法来破解那个坚果。或者,也许常规事件在WF的疯狂“依赖属性”/“附加属性”/“路由事件”世界中没有意义。
答案 1 :(得分:3)
修改:以下内容不准确,请参阅下面的Marc's comment。
首先,事件允许多个处理程序本身,而Action
属性只允许单个处理程序。是的,Action
属性本身可以进行广播,但这不是很有凝聚力或惯用力。
我和Marc在一起,我很惊讶他们使用Action
属性而不是标准事件。
答案 2 :(得分:1)
我发了一封电子邮件给WF团队的一名成员,他很友好地回答了我。 他告诉我,事件和行动几乎是等价的,但团队对使用API的API感觉更好。