Estendendo o acompanhamento do item de trabalho usando o modelo do objeto cliente para Team Foundation
Você pode criar, alterar e localizar de modo programático bugs, tarefas e outros tipos de itens de trabalho usando o modelo do objeto para acompanhar os itens de trabalho. Para acessar os itens de trabalho, você deve primeiro se conectar ao Visual Studio Team Foundation Server, conforme descrito em Conectar ao Team Foundation Server a partir de um aplicativo do console.
Dica
Se desejar personalizar os tipos de itens de trabalho, consulte Áreas comuns a serem personalizadas [redirecionado].
Tarefas comuns
Criar um item de trabalho usando o modelo do objeto cliente para Team Foundation
Editar e salvar itens de trabalho usando o modelo do objeto cliente para Team Foundation
Consultar bugs, tarefas e outros itens de trabalho
(CodePlex) Controles personalizados para Acompanhamento de Itens de Trabalho do TFS
Considerações de thread
Se o seu aplicativo for multithread, ele deverá criar um WorkItemStore para cada thread. Se os threads compartilharem um WorkItemStore, o aplicativo não dimensionará corretamente. Enquanto o WorkItemStore e os objetos relacionados estiverem sendo processados, todos os outros threads que compartilham o WorkItemStore serão bloqueados.
O custo de inicializar um WorkItemStore é significativo. Portanto, você deve inicializar o objeto e manter uma referência a ele durante a vida do thread. Por exemplo, se você usar o modelo de objeto para acompanhar itens de trabalho em um aplicativo ASP.NET, deverá armazenar em cache o objeto WorkItemStore na sessão de usuário ou criar um pool de threads e usar um único objeto WorkItemStore para cada thread.
Metadados
O banco de dados de itens de trabalho contém um conjunto de metadados que descreve os tipos de itens de trabalho, campos, regras, formulários e outras informações sobre como os itens de trabalho são configurados e usados em cada projeto de equipe. Um WorkItemStore obtém e usa um cache local desses metadados. Os metadados são alterados sempre que um desses elementos for atualizado. Por exemplo, se um valor for adicionado à lista de valores permitidos para um campo, outra versão dos metadados será criada. O modelo de objeto do cliente para acompanhar itens de trabalho verifica se o seu WorkItemStore está usando a versão mais recente dos metadados. O sistema executa essa verificação sempre que você chama um método que resulta em uma viagem de ida e volta ao servidor, tal como WorkItemStore.Query ou WorkItem.Save. Se houver uma versão mais recente dos metadados, o sistema obterá os metadados atualizados e acionará o evento WorkItemStore.MetadataChanged.
Se o seu código for afetado pela alteração dos metadados, ele responderá a este evento. Por exemplo, o código que exibe o formulário de item de trabalho deve responder a este evento para que a versão mais recente do formulário seja exibida.
O seu código pode solicitar sua instância de WorkItemStore para verificar se há uma atualização para o cache de metadados local chamando WorkItemStore.SyncToCache. Por exemplo, se o seu aplicativo usar vários objetos WorkItemStore, quando ele receber um evento WorkItemStore.MetadataChanged, o seu código poderá usar WorkItemStore.SyncToCache para solicitar os objetos WorkItemStore para usar a versão atualizada do cache de metadados.
O seu código pode solicitar sua instância de um WorkItemStore para verificar o servidor com relação a metadados atualizados chamando WorkItemStore.RefreshCache.