+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Membre chevronné Avatar de zeavan
    Inscrit en
    avril 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : avril 2003
    Messages : 579
    Points : 663
    Points
    663

    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.

  2. #2
    Membre chevronné Avatar de zeavan
    Inscrit en
    avril 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : avril 2003
    Messages : 579
    Points : 663
    Points
    663

    Par défaut

    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?

  3. #3
    Rédacteur

    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Consultant
    Inscrit en
    mars 2003
    Messages
    10 836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant
    Secteur : Conseil

    Informations forums :
    Inscription : mars 2003
    Messages : 10 836
    Points : 25 273
    Points
    25 273

    Par défaut

    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

  4. #4
    Membre chevronné Avatar de zeavan
    Inscrit en
    avril 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : avril 2003
    Messages : 579
    Points : 663
    Points
    663

    Par défaut

    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.

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •