# Dotnet > Gnral Dotnet > Windows Workflow Foundation >  StateMachine limite dans le temps.

## zeavan

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

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:



```
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?

----------


## Louis-Guillaume Morand

j'aurais pens au delay aussi mais effectivement, le comportement est logique.

autre solution, ton workflow possde une proprit de temps que tu settes  son lancement, et tu la vrifie  diffrents moments de ton workflow, ou alors sur des events particuliers, quand il est dpersist par exemple (mais l je sais pas si l'vent ne va pas se dclench  l'extrieur de ta classe workflow)

----------


## zeavan

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.

----------

