2009-08-07 10 views
0

J'utilise HandleExternalEventActivity avec Roles propriété et je dois vérifier si mon méthode personnaliséebool RoleProfile.IsDelegatee(string userName, string workflowName, string activityName, string eventName, string roleName) trouve une correspondance. ("Je suis en vacances, UserX devrait pouvoir approuver la tâche X en mon nom, mais pas la tâche Y")activité personnalisée basée sur HandleExternalEventActivity

J'ai essayé d'hériter HandleExternalEventActivity mais la méthode Execute a été marquée comme scellée.

Avez-vous des idées?

TIA

Répondre

1

Je ne pense pas que le HandleExternalEventActivity vous permet de le faire, il est limité dans ce qu'il vous permettra de valider. Toutefois, ReceiveActivity possède un événement OperationValidation qui vous permet de faire ce que vous voulez dans le code et de définir une propriété IsValid sur OperationValidationEventArgs pour indiquer si l'appel est autorisé ou non.

Si vous ne souhaitez pas ou ne pouvez pas utiliser la route WCF, la meilleure option consiste à créer une activité personnalisée réagissant aux messages mis en file d'attente. HandleExternalEventActivity est seulement une enveloppe très fine sur le système de file d'attente de workflow et je conseille presque toujours aux gens d'utiliser la route d'activité personnalisée au lieu de la route HandleExternalEventActivity car elle est beaucoup plus flexible et souvent plus facile à utiliser.

Questions connexes