Extender el seguimiento de elementos de trabajo usando el modelo de objetos de cliente para Team Foundation
Se pueden crear, cambiar y encontrar errores, tareas y otros tipos de elementos de trabajo mediante programación si se usa el modelo de objetos para realizar un seguimiento de elementos de trabajo. Para acceder a los elementos de trabajo, antes hay que conectarse a Visual Studio Team Foundation Server, como se describe en Conectar con el servidor Team Foundation Server desde una aplicación de consola.
Nota
Si quiere personalizar tipos de elemento de trabajo, vea Áreas comunes que se pueden personalizar [redirigido].
Tareas comunes
Crear un elemento de trabajo usando el modelo de objetos de cliente para Team Foundation
Editar y guardar elementos de trabajo usando el modelo de objetos de cliente para Team Foundation
Consultar errores, tareas y otros elementos de trabajo
(CodePlex) Controles personalizados para el seguimiento de elementos de trabajo de TFS
Consideraciones sobre los subprocesos
Si la aplicación es multiproceso, debe crear un WorkItemStore por cada subproceso. Si los subprocesos comparten un WorkItemStore, la aplicación no escalará bien. Mientras el WorkItemStore y los objetos relacionados correspondientes se estén procesando, el resto de subprocesos que comparte el WorkItemStore estará bloqueado.
El coste derivado de inicializar un WorkItemStore es significativo, de modo que conviene inicializar el objeto y conservar una referencia a él a lo largo de la duración del subproceso. Por ejemplo, si usa el modelo de objetos para realizar un seguimiento de los elementos de trabajo de una aplicación de ASP.NET, deberá almacenar en caché el objeto WorkItemStore en la sesión del usuario o crear un grupo de subprocesos y usar un solo objeto WorkItemStore para cada subproceso.
Metadatos
La base de datos de elementos de trabajo contiene un conjunto de metadatos que describe los tipos de elementos de trabajo, campos, reglas, formularios y demás información sobre cómo los tipos de elementos de trabajo se configuran y usan en cada proyecto de equipo. Un WorkItemStore obtiene y usa una memoria caché local de esos metadatos. Los metadatos cambian cada vez que alguno de estos elementos se actualiza. Por ejemplo, si un valor se agrega a la lista de valores posibles para un campo, se creará otra versión de los metadatos. El modelo de objetos de cliente para realizar un seguimiento de los elementos de trabajo comprueba si el WorkItemStore está usando la versión más reciente de los metadatos. El sistema lleva a cabo esta comprobación cada vez que se llame a un método que resulte en un recorrido de ida y vuelta al servidor, como WorkItemStore.Query o WorkItem.Save. Si existe una versión más reciente de los metadatos, el sistema obtiene los metadatos actualizados y, luego, genera un evento WorkItemStore.MetadataChanged.
Si el código se ve afectado por el cambio de metadatos, deberá responder ante este evento. Por ejemplo, un código que muestra el formulario de elemento de trabajo debe responder a este evento de forma que aparezca la versión más reciente del formulario.
El código puede pedir a su instancia de WorkItemStore que busque una actualización de la memoria caché de metadatos local llamando a WorkItemStore.SyncToCache. Por ejemplo, si la aplicación usa varios objetos WorkItemStore, cuando recibe un evento WorkItemStore.MetadataChanged, el código puede usar WorkItemStore.SyncToCache para pedir a los objetos WorkItemStore que usen la versión actualizada de la memoria caché de metadatos.
El código puede pedir a su instancia de un WorkItemStore que busque los metadatos actualizados en el servidor llamando a WorkItemStore.RefreshCache.