2 votes

Récupérer une liste des éléments de travail ouverts pour un projet donné dans TFS 2010 de manière programmatique

J'essaie de récupérer la liste des éléments de travail ouverts pour un projet donné de manière programmatique. En cherchant sur le web, la seule façon que je vois de le faire est d'utiliser l'API WorkItemStore et d'exécuter une requête.

Le problème majeur que je rencontre est que la récupération du workitemstore prend presque 2 minutes. Je le mets en cache par la suite, mais le premier coup est inacceptable. En outre, mon application doit le rafraîchir toutes les x minutes si de nouveaux éléments de travail sont ajoutés.

Existe-t-il un moyen d'obtenir une liste des éléments de travail ouverts associés à un projet sans utiliser la fonction d'accès à l'information ? WorkItemStore . Je n'ai besoin que du numéro de l'élément de travail et, éventuellement, du titre. Je n'ai besoin d'aucune autre information.

Si ce n'est pas le cas, y a-t-il quelque chose que je fais mal ou quelque chose qui ne va pas avec le serveur TFS (index manquant peut-être) qui rend les performances si lentes. J'ai essayé différentes manières de l'obtenir, d'ailleurs. Elles sont toutes extrêmement lentes.

WorkItemStore store = (WorkItemStore)tfs.GetService(typeof(WorkItemStore));

o

workItemStore = new WorkItemStore(tfsTeamProjectCollection);

o

workItemStore = new WorkItemStore(tfsServerName);

Toute aide en la matière serait grandement appréciée.

0voto

NgM Points 2956

Même avec une BD incroyablement importante, vous ne devriez pas subir de retards de deux minutes.

Je chargerais SQL Profiler et jetterais un coup d'oeil à la requête générée pour obtenir des éléments de travail. À partir de là, vous pourrez probablement identifier la partie de la requête qui cause le retard.

Vous pouvez également envisager d'exécuter la requête sur le même ordinateur que celui où se trouvent les bases de données TFS et voir si c'est là le problème. Comme le souligne le commentaire ci-dessus, les connexions à distance peuvent certainement causer des retards.

Si rien de tout cela ne résout le problème, nous espérons que vous pourrez nous fournir des informations supplémentaires, comme la taille du projet (qui ne devrait pas avoir d'importance), la configuration de l'installation de TFS (où se trouvent vos serveurs et comment sont-ils configurés) et le matériel sur lequel il se trouve.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X