0

我正在使用HandleExternalEventActivitywithRoles属性,我需要检查我的自定义 bool RoleProfile.IsDelegatee(string userName, string workflowName, string activityName, string eventName, string roleName) 方法是否找到匹配项。(“我正在休假;UserX 应该能够代表我批准‘任务 X’,但不能代表‘任务 Y’”)

我试图继承HandleExternalEventActivity,但Execute方法被标记为密封。

你有什么想法?

TIA

4

1 回答 1

1

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

如果您不愿意或不能走 WCF 路线,最好的选择是创建一个自定义活动来响应排队的消息。HandleExternalEventActivity 只是工作流排队系统的一个非常薄的包装器,我几乎总是建议人们使用自定义活动路线而不是 HandleExternalEventActivity 路线,因为它更加灵活并且通常更易于使用。

于 2009-08-07T08:08:12.720 回答