Condividi tramite


Estensione della gestione degli elementi di lavoro tramite il modello a oggetti del client per Team Foundation

È possibile creare, modificare e trovare bug, attività e altri tipi di elemento di lavoro a livello di codice usando il modello a oggetti per tenere traccia degli elementi di lavoro. Per accedere agli elementi di lavoro, prima è necessario connettersi a Visual Studio Team Foundation Server, come descritto in Connettersi a Team Foundation Server da un'applicazione console.

Nota

Per personalizzare i tipi di elemento di lavoro, vedere Aree comuni da personalizzare [reindirizzamento].

Attività comuni

Creare un elemento di lavoro tramite il modello a oggetti del client per Team Foundation

Modificare e salvare elementi di lavoro tramite il modello a oggetti del client per Team Foundation

Eseguire una query per trovare bug, attività e altri elementi di lavoro

WorkItemStore.GetWorkItem

(CodePlex) Controlli personalizzati per la verifica degli elementi di lavoro TFS

Scrittura di codice per diversi tipi di elementi di lavoro tramite il modello a oggetti del client per Team Foundation

Considerazioni sul threading

Se l'applicazione è multithreading, dovrà creare un oggetto WorkItemStore per ogni thread. Se i thread condividono un oggetto WorkItemStore, l'applicazione non verrà ridimensionata correttamente. Finché sarà in corso l'elaborazione con WorkItemStore e gli oggetti correlati, tutti gli altri thread che condividono WorkItemStore saranno bloccati.

Il costo dell'inizializzazione di un oggetto WorkItemStore è considerevole. È quindi consigliabile inizializzare l'oggetto e mantenere un riferimento a esso per tutta la durata del thread. Se, ad esempio, si usa il modello a oggetti per tenere traccia degli elementi di lavoro in un'applicazione ASP.NET, è consigliabile memorizzare nella cache l'oggetto WorkItemStore nella sessione utente o creare un pool di thread e usare un singolo oggetto WorkItemStore per ogni thread.

Metadati

Il database degli elementi di lavoro contiene un set di metadati che descrivono i tipi di elemento di lavoro, i campi, le regole, i form e altre informazioni sui tipi di elemento di lavoro configurati e usati in ogni progetto team. Un oggetto WorkItemStore ottiene e usa una cache locale di tali metadati. Quando uno di questi elementi viene aggiornato, i metadati vengono cambiati. Se, ad esempio, viene aggiunto un valore all'elenco di valori consentiti per un campo, viene creata un'altra versione dei metadati. Il modello a oggetti del client che tiene traccia degli elementi di lavoro verifica che l'oggetto WorkItemStore stia usando la versione più recente dei metadati. Il sistema esegue questa verifica quando si chiama un metodo che restituisce un round trip al server, ad esempio WorkItemStore.Query o WorkItem.Save. Se c'è una versione più recente dei metadati, il sistema ottiene i metadati aggiornati e quindi genera l'evento WorkItemStore.MetadataChanged.

Se il codice è influenzato dalla modifica dei metadati, il codice deve rispondere a questo evento. Ad esempio, il codice che visualizza il form degli elementi di lavoro deve rispondere a questo evento per poter visualizzare la versione più recente del form.

Il codice può richiedere all'istanza di WorkItemStore di cercare un aggiornamento alla cache dei metadati locale chiamando WorkItemStore.SyncToCache. Se, ad esempio, l'applicazione usa più oggetti WorkItemStore, quando riceve un evento WorkItemStore.MetadataChanged, il codice può usare WorkItemStore.SyncToCache per richiedere agli oggetti WorkItemStore di usare la versione aggiornata della cache dei metadati.

Il codice può richiedere all'istanza di un oggetto WorkItemStore di cercare nel server i metadati aggiornati chiamando WorkItemStore.RefreshCache.

Risorse aggiuntive

Estensione di Team Foundation

WorkItemStore

WorkItem