J'appelle un threading.timer de global.asax qui appelle de nombreuses méthodes dont chacune obtient des données de différents services et les écrit dans des fichiers. Ma question est comment puis-je faire les méthodes à invoquer régulièrement, disons 5 minutes?Threading.Timer appelle plusieurs méthodes de manière asynchrone
Ce que je fais est: dans Global.asax Je déclare une minuterie
protected void Application_Start()
{
TimerCallback timerDelegate = new TimerCallback(myMainMethod);
Timer mytimer = new Timer(timerDelegate, null, 0, 300000);
Application.Add("timer", mytimer);
}
la déclaration de myMainMethod ressemble à ceci:
public static void myMainMethod(object obj)
{
MyDelegateType d1 = new MyDelegateType(getandwriteServiceData1);
d1.BeginInvoke(null, null);
MyDelegateType d2 = new MyDelegateType(getandwriteServiceData2);
d2.BeginInvoke(null, null);
}
cette approche fonctionne très bien, mais il invoque myMainMethod tous les 5 minutes Ce dont j'ai besoin, c'est la méthode à invoquer 5 minutes après que toutes les données soient récupérées et écrites dans des fichiers sur le serveur.
Comment faire cela?