Erweitern der Arbeitsaufgabennachverfolgung mithilfe des Clientobjektmodells für Team Foundation

Sie können Fehler, Aufgaben und andere Arten von Arbeitsaufgaben mithilfe des Objektmodells zur Nachverfolgung von Arbeitsaufgaben programmgesteuert erstellen, ändern und suchen. Für den Zugriff auf Arbeitsaufgaben müssen Sie zunächst eine Verbindung zu Visual Studio Team Foundation Server herstellen, wie in Herstellen einer Verbindung mit Team Foundation Server von einer Konsolenanwendung aus beschrieben.

Hinweis

Informationen zur Anpassung von Arbeitsaufgabentypen finden Sie unter Anpassbare gemeinsame Bereiche [umgeleitet].

Allgemeine Aufgaben

Erstellen einer Arbeitsaufgabe mithilfe des Clientobjektmodells für Team Foundation

Bearbeiten und Speichern von Arbeitsaufgaben mithilfe des Clientobjektmodells für Team Foundation

Abfrage für Fehler, Aufgaben und andere Arbeitsaufgaben

WorkItemStore.GetWorkItem

(CodePlex) Benutzerdefinierte Steuerelemente zum Nachverfolgen von TFS-Arbeitsaufgaben

Schreiben von Code für verschiedene Arbeitsaufgabentypen unter Verwendung des Clientobjektmodells für Team Foundation

Überlegungen zum Threading

Wenn Sie eine Multithreadanwendung verwenden, sollte diese für jeden Thread ein WorkItemStore erstellen. Wenn die Threads ein WorkItemStore gemeinsam nutzen, wird die Anwendung nicht angemessen skaliert. So lange WorkItemStore und zugehörige Objekte verarbeitet werden, sind alle anderen Threads blockiert, die WorkItemStore gemeinsam nutzen.

Der Aufwand für die WorkItemStore-Initialisierung ist erheblich. Daher sollten Sie das Objekt initialisieren und einen Verweis darauf für die Lebensdauer des Threads speichern. Wenn Sie das Objektmodell z. B. zum Nachverfolgen von Arbeitsaufgaben in einer ASP.NET-Anwendung verwenden, sollten Sie das WorkItemStore-Objekt in der Benutzersitzung zwischenspeichern oder einen Threadpool erstellen und ein einzelnes WorkItemStore-Objekt für die einzelnen Threads verwenden.

Metadaten

Die Arbeitsaufgabendatenbank enthält eine Reihe von Metadaten, die die Typen von Arbeitsaufgaben, Feldern, Regeln, Formularen sowie weitere Informationen zur Konfiguration und Verwendung von Arbeitsaufgabentypen in den jeweiligen Teamprojekten beschreiben. Ein WorkItemStore erhält und verwendet einen lokalen Cache dieser Metadaten. Die Metadaten werden geändert, sobald eines dieser Elemente aktualisiert wird. Wenn z. B. ein Wert zur Liste der zulässigen Werte für ein Feld hinzugefügt wurde, wird eine andere Version der Metadaten erstellt. Das Clientobjektmodell für die Nachverfolgung von Arbeitsaufgaben überprüft, ob Ihr WorkItemStore die aktuellste Version der Metadaten verwendet. Das System führt diese Überprüfung aus, sobald Sie eine Methode aufrufen, die auf dem Server zu einem Roundtrip führt, z. B. WorkItemStore.Query oder WorkItem.Save. Wenn eine aktuellere Version der Metadaten verfügbar ist, ruft das System die aktualisierten Metadaten ab und löst das WorkItemStore.MetadataChanged-Ereignis aus.

Wenn Ihr Code von der Änderung der Metadaten betroffen ist, muss Ihr Code auf dieses Ereignis reagieren. Beispielsweise muss der Code, der das Arbeitsaufgabenformular anzeigt, auf dieses Ereignis reagieren, damit die aktuellste Version des Formulars angezeigt wird.

Der Code kann seine Instanz von WorkItemStore dazu auffordern, für den lokalen Metadatencache auf Updates zu prüfen, indem WorkItemStore.SyncToCache aufgerufen wird. Wenn Ihre Anwendung z. B. mehrere WorkItemStore-Objekte verwendet, kann Ihr Code beim Erhalten eines WorkItemStore.MetadataChanged-Ereignisses WorkItemStore.SyncToCache dazu verwenden, die WorkItemStore-Objekte dazu aufzufordern, die aktualisierte Version des Metadatencaches zu verwenden.

Der Code kann seine Instanz von WorkItemStore dazu auffordern, den Server auf aktualisierte Metadaten zu prüfen, indem WorkItemStore.RefreshCache aufgerufen wird.

Zusätzliche Ressourcen

Erweitern von Team Foundation Server

WorkItemStore

WorkItem