2009-02-12 10 views
1

J'utilise WorkFlowServiceHost (dans .NET 3.5) pour héberger un workflow de machine d'état. J'utilise les activités de réception WCF pour gérer les appels dans le flux de travail. J'utilise une stratégie d'autorisation WCF pour joindre des revendications aux demandes entrantes basées sur des informations dans les en-têtes de message. Ainsi, plus loin dans la chaîne, je peux utiliser le ServiceSecurityContext ou simplement le Thread.CurrentPrincipal pour obtenir des informations d'autorisation sur la requête (rôles, utilisateur, etc.). Je sais que cela ne fonctionnera pas pour nous car le flux de travail distribue des threads différents pour gérer les événements que le moteur d'exécution déclenche lorsqu'il y a du travail à faire (c'est-à-dire la réactivité). Les informations contextuelles sur la requête (OperationContext) ne sont plus disponibles dans le workflow (sauf au hasard lorsque le travail est exécuté sur le thread d'exécution). Ce que je voudrais faire est obtenir l'information au sujet de la demande (OperationContext) avant que le fil de travail soit créé, obtienne le fil de travail et attache l'information contextuelle à lui ainsi il est disponible dans l'instance de workflow.Workflow Foundation Threading et WCF OperationContext

Je pense qu'il doit y avoir un événement sur le runtime que je peux gérer pour le faire mais je n'ai rien trouvé. Et je ne veux vraiment pas utiliser le planificateur de flux de travail manuel. Toute aide est appréciée.

Merci!

Répondre

1

Je suis assez en retard avec cela, mais je cherchais "silverlight operationcontext" et trouvé votre question SO ainsi que le blog post that I am linking (l'un après l'autre dans les résultats de Google). Je ne sais pas si ça va aider ou non (il dit, presque deux ans plus tard).

Je n'ai pas beaucoup travaillé avec WCF et pas du tout avec WFF, donc je n'ai pas vraiment beaucoup à ajouter à ce lien.

+0

Wow, quelqu'un a répondu! ;-). Merci pour le lien, nous avons fini par porter le flux de travail vers notre propre solution, ce qui était ennuyeux mais il a fini par être le bon choix (meilleure performance, plus de contrôle, moins de frais généraux). Mais à partir de l'apparence, ils ont fourni de meilleurs crochets dans WF4.0 – Dan

Questions connexes