Bonjour,
Je développe un application en c# qui fait le lien entre plusieurs autre d'un eco-système.
Il arrive que je doive détruire un fichier après un traitement. Hors ce fichier est utilisé et j'obtiens une erreur.
Ne possédant pas le code source des autres application, je ne peut pas avoir quel applicatif utilise encore le fichier.
Mon but est de modifier un bout de code pour logger quel processus utilise encore le fichier et d'éventuellement le killer. (J'ai de bonne raison de croire que ce processus plante un peu aléatoirement).
Je ne peut pas utiliser Process Explorer car ce bug se produit la nuit quand je ne suis plus là et le matin le fichier est accessible. Pour le moment j'ai un boucle de retry mais elle me fait perdre parfois 30 minutes avant de pouvoir virer le fichier. Et 30 minutes dans al nuit c'est pas rien.
J'ai trouver un truc sur ntdll.dll. Mais pas d'exemple sur la manière d'interfacer ce bout de code en C#.
Normalement une fois l'appli coupable découvertes j'effacerai ses lignes pour ne pas ralentir l'application.
Donc ce n'est pas grave si l'appel à la fonction est couteux.
Merci d'avance.
Partager