Comme je l'avais spécifié dans un précédent message, je travaille sur le développement d'un WorkFlow intégrant un composant de Timer (pause de quelques heures du WorkFlow à un état donné) :
Je viens de comprendre la raison du non fonctionnement de les tests dans le développement (temps non respecté dans l'envoi des mails). Ceci est en réalité du au fonctionnement même de SharePoint.
En effet, le check de l'état des taches est faite par SharePoint lui-même et ceci est fait basiquement toutes les 10 minutes environ, donc dans le cadre d'un développement avec un temps très proche (une ou deux minutes), on a l'impression que rien ne fonctionne.
La solution m'a été fournie ici :
Il faut modifier l'intervale de Check, avec la commande :
- STSADM –o setproperty –propertyname job-workflow –pv “every 1 minutes between 0 and 59” –url http://%computername%
De plus, voila aussi une fonction vous permettant d'attribuer le temps du Timer par code :
....
public string HighPriorityTime = "00:01:00";
....
private void DefineTheHighPriorityTime(object sender, EventArgs e)
{
(sender as DelayActivity).TimeoutDuration = (sender as DelayActivity).TimeoutDuration.Add(TimeSpan.Parse(HighPriorityTime));
}
En ajoutant dans le Handler "InitializeTimeoutDuration", la fonction "DefineTheHighPriorityTime" pour le Timer voulu.
Romelard Fabrice [MVP]
Commentaires
Enregistrer un commentaire