Précédent   Forum du club des développeurs et IT Pro > Dotnet > Général Dotnet > Windows Workflow Foundation
Windows Workflow Foundation Forum d'entraide sur le moteur de workflows de Microsoft
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 16/09/2009, 16h22   #1
zeavan
Membre chevronné
 
Avatar de zeavan
 
Chemouny Frederic
Inscription : avril 2003
Messages : 572
Détails du profil
Informations personnelles :
Nom : Chemouny Frederic
Âge : 36

Informations forums :
Inscription : avril 2003
Messages : 572
Points : 631
Points : 631
Par défaut StateMachine limite dans le temps.

Voila j'aimerai limiter l'execution de mon state machine dans le temps.

En gros un timer serait lance dans le 1er state et si le flow ne s'est pas termine dans le temps imparti le flow se termine.

J'avais pense utiliser delayactivity dans le 1er state mais ce dernier ne fonctionne que si je continue a rester dans ce meme state, si je change de state celui ci n'est plus valable.
zeavan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2009, 16h54   #2
zeavan
Membre chevronné
 
Avatar de zeavan
 
Chemouny Frederic
Inscription : avril 2003
Messages : 572
Détails du profil
Informations personnelles :
Nom : Chemouny Frederic
Âge : 36

Informations forums :
Inscription : avril 2003
Messages : 572
Points : 631
Points : 631
Voila ce que j'ai fait en attendant:

J'ai declarer une variable global de time datetime que j'initialize dans mon premier state a DateTime.Now.

Ensuite j'ai ajouter a tous les states une delayActivity qui initialize ainsi:

Code :
delay.TimeoutDuration = new TimeSpan(0, 0, 60).Subtract(DateTime.Now.Subtract(startTime));
60 represente ici le temps maximum imparti au workflow pour s'executer.

Ce qui me derange c'est le fait de rajouter un delay activity a chaque sate.

Une idee?
zeavan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2009, 23h47   #3
Louis-Guillaume Morand
Rédacteur

 
Avatar de Louis-Guillaume Morand
 
Homme Louis-Guillaume MORAND
Consultant
Inscription : mars 2003
Messages : 10 791
Détails du profil
Informations personnelles :
Nom : Homme Louis-Guillaume MORAND
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant
Secteur : Conseil

Informations forums :
Inscription : mars 2003
Messages : 10 791
Points : 24 826
Points : 24 826
j'aurais pensé au delay aussi mais effectivement, le comportement est logique.

autre solution, ton workflow possède une propriété de temps que tu settes à son lancement, et tu la vérifie à différents moments de ton workflow, ou alors sur des events particuliers, quand il est dépersisté par exemple (mais là je sais pas si l'évent ne va pas se déclenché à l'extérieur de ta classe workflow)
__________________
moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom
Louis-Guillaume Morand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2009, 07h11   #4
zeavan
Membre chevronné
 
Avatar de zeavan
 
Chemouny Frederic
Inscription : avril 2003
Messages : 572
Détails du profil
Informations personnelles :
Nom : Chemouny Frederic
Âge : 36

Informations forums :
Inscription : avril 2003
Messages : 572
Points : 631
Points : 631
C'est effectivement ce que j'ai fait precedant message, mais je trouve ca un peu moche de devoir verifier a chaque state .

Je vais laisser le poste ouvert encore quelque temps au cas ou.
zeavan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 15h23.


 
 
 
 
Partenaires

Hébergement Web