J'utilise une DLL externe (pdfsharp) pour ouvrir (puis manipuler) beaucoup de fichiers PDF. J'utilise:Puis-je éviter une éventuelle suspension en limitant le temps qu'une méthode est autorisée à prendre?
Dim inputDocument = Pdf.IO.PdfReader.Open(PDFPath, IO.PdfDocumentOpenMode.ReadOnly)
Le problème est - il semble s'accrocher sur certains fichiers rares. Je ne semble pas avoir de délai d'attente - il reste suspendu pendant des heures sur cette ligne. Nous avons lu des milliers de fichiers avec ce code, toujours sur des fichiers minuscules, donc je pensais qu'une solution de contournement rapide pourrait être d'attendre si la méthode prend plus d'une seconde ou deux. Mais je ne vois pas un moyen simple de le faire. J'espère éviter de filer un fil de travail.
Des réflexions sur la façon dont je pourrais limiter ces threads ont permis le temps d'exécution, ou existe-t-il un meilleur (mais simple) moyen?
Si nous pouvions envoyer des échantillons à l'équipe de PdfSharp, je suis sûr qu'ils pourraient trouver ce que le problème, mais les données contenues dans les fichiers PDF ne peuvent pas être partagés - et est créé par une autre institution. Nous gardons une table des fichiers PDF 'incomparables' - cela ne s'est produit que 6 fois sur des milliers - mais il n'y a rien d'inhabituel à les regarder ... – aSkywalker