Workflow 基于HandleExternalEventActivity的自定义活动

Workflow 基于HandleExternalEventActivity的自定义活动,workflow,workflow-foundation,roles,Workflow,Workflow Foundation,Roles,我正在将HandleExternalEventActivity与Roles属性一起使用,我需要检查我的自定义bool RoleProfile.isdelegate(字符串用户名、字符串工作流名、字符串活动名、字符串事件名、字符串角色名)方法是否找到匹配项。(“我正在休假;UserX应该能够代表我批准'task X',但不能批准'task Y') 我试图继承HandleExternalEventActivity,但是Execute方法被标记为sealed 你有什么想法吗 TIA我认为HandleE

我正在将
HandleExternalEventActivity
Roles
属性一起使用,我需要检查我的自定义
bool RoleProfile.isdelegate(字符串用户名、字符串工作流名、字符串活动名、字符串事件名、字符串角色名)
方法是否找到匹配项。(“我正在休假;UserX应该能够代表我批准'task X',但不能批准'task Y')

我试图继承
HandleExternalEventActivity
,但是
Execute
方法被标记为sealed

你有什么想法吗


TIA

我认为HandleExternalEventActivity不允许您这样做,它仅限于允许您验证的内容。但是,ReceiveActivity有一个OperationValidation事件,允许您在代码中执行任何操作,并在OperationValidationEventArgs上设置IsValid属性以指示是否允许调用

如果您不愿意或无法使用WCF路由,最好的选择是创建一个自定义活动,对排队的消息作出反应。HandleExternalEventActivity只是工作流队列系统的一个很薄的包装,我几乎总是建议人们使用自定义活动路线,而不是HandleExternalEventActivity路线,因为它更灵活,而且通常更易于使用