J'essaye d'écrire du code qui surveille les WorkItems TFS sur mon poste de travail local mais pour l'instant j'ai des problèmes pour déclencher les événements.Utilisation de l'API TFS 2010 pour vous abonner à WorkItem Events
Je me suis abonné à l'événement FieldChange de WorkItem mais il ne se déclenche pas lorsque je change/met à jour un workjet.
Le code ci-dessous est une application console qui, je pense, devrait fonctionner, mais ce n'est pas le cas. Est-ce que quelqu'un sait comment s'abonner avec succès à ces événements?
Toute aide dans ce domaine est appréciable.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.TeamFoundation.Client;
using System.Net;
using Microsoft.TeamFoundation.VersionControl.Client;
using Microsoft.TeamFoundation.WorkItemTracking.Client;
using Microsoft.TeamFoundation.Framework.Client;
namespace TFSEvents
{
class Program
{
static void Main(string[] args)
{
try
{
Uri serverUri = new Uri(@"http://tfs");
string username, password;
Console.WriteLine("Enter Username:");
username = Console.ReadLine();
Console.WriteLine("Enter password:");
password = ReadPassword();
NetworkCredential cred = new NetworkCredential(username, password);
TfsTeamProjectCollection tfs = new TfsTeamProjectCollection(serverUri, cred);
tfs.EnsureAuthenticated();
IEventService vs = tfs.GetService<IEventService>();
var wiww = tfs.GetService<WorkItemStore>();
var wi = wiww.GetWorkItem(4671);
wi.FieldChanged += new WorkItemFieldChangeEventHandler(changeHandler);
var x = vs.GetAllEventSubscriptions().ToList();
Console.WriteLine("Press \'q\' to quit.");
while (Console.ReadLine() != "q") ;
}
catch (Exception e)
{
}
}
private static void changeHandler(object o, WorkItemEventArgs e)
{
Console.WriteLine(e.Field);
}
}
}
Votre article utilise BisSubscribe.exe. Je ne souhaite pas l'utiliser. Pouvez-vous suggérer autre chose? –
Vérifiez ce blog: http://www.codeproject.com/Articles/730928/Fermer-a-Work-Item-only-if-Child-Work-items-are-c –
@ Cece-MSFT que je ne pense pas help –