Comment configurer une extension de flux de travail personnalisée (telle qu'un descendant PersistenceParticipant) dans Web.config lors du déploiement sur IIS ou AppFabric? (Pour WF 4)Ajout d'une extension de workflow dans Web.config
2
A
Répondre
5
Vous pouvez le faire dans le CacheMetadata d'une activité ou via un comportement de service comme suit.
Créez un IServiceBehavior pour ajouter l'extension et un BehaviorExtensionElement pour charger le IServiceBehavior.
public class MyExtensionElement : BehaviorExtensionElement
{
public override Type BehaviorType
{
get
{
return typeof(MyExtensionBehavior);
}
}
protected override object CreateBehavior()
{
return new MyExtensionBehavior();
}
}
public class MyExtensionBehavior : IServiceBehavior
{
public void ApplyDispatchBehavior(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase)
{
var host = (WorkflowServiceHost)serviceHostBase;
host.WorkflowExtensions.Add<MyExtension>(() => new MyExtension());
}
}
recensez comme un behaviorExtensions dans la configuration et l'utilisation dans votre comportement de service
<system.serviceModel>
<extensions>
<behaviorExtensions>
<add name="myExtension"
type="MyWorkflowService.MyExtensionElement, MyWorkflowService"/>
</behaviorExtensions>
</extensions>
<behaviors>
<serviceBehaviors>
<behavior>
<myExtension/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
Merci - travaillé! Je pense que vous voulez dire type = "MyWorkflowService.MyExtensionElement, MyWorkflowService" cependant. – TrueWill
Oui, vous avez raison, désolé pour la copie et l'erreur de pièce. – Maurice