Расширение системы отслеживания рабочих элементов с помощью клиентской объектной модели для Team Foundation
Создавать, изменять и выполнять поиск ошибок, задач и других типов рабочих элементов можно программным образом, используя объектную модель для отслеживания рабочих элементов. Чтобы получить доступ к рабочим элементам, сначала необходимо подключиться к Visual Studio Team Foundation Server, как описано в разделе Подключение к серверу Team Foundation Server из консольного приложения.
Примечание
Сведения о настройке типов рабочих элементов см. в разделе Часто настраиваемые области [перенаправление].
Общие задачи
Создание рабочего элемента с помощью клиентской объектной модели для Team Foundation
Изменение и сохранение рабочих элементов с помощью клиентской объектной модели для Team Foundation
Запрос ошибок, задач и прочих рабочих элементов
Особенности работы с потоками
Если в приложении используется несколько потоков, оно должно создавать WorkItemStore для каждого потока. Если потоки совместно используют WorkItemStore, приложение не сможет эффективно выполнять масштабирование. Пока выполняется обработка WorkItemStore и связанных объектов, все другие потоки, совместно использующие WorkItemStore, блокируются.
Затраты на инициализацию WorkItemStore весьма значительны. Поэтому необходимо выполнить инициализацию объекта и поддерживать ссылку на него в течение всего жизненного цикла потока. Например, если вы используете объектную модель для отслеживания рабочих элементов в приложении ASP.NET, нужно поместить объект WorkItemStore в кэш сеанса пользователя или создать пул потоков и использовать отдельный объект WorkItemStore для каждого потока.
Метаданные
База данных рабочих элементов содержит набор метаданных, которые описывают типы рабочих элементов, полей, правил и форм, а также содержат другие сведения о настройке и использовании типов рабочих элементов в командных проектах. WorkItemStore получает и использует локальный кэш этих метаданных. Метаданные изменяются при обновлении любого из этих элементов. Например, при добавлении значения в список разрешенных значений поля создается другая версия метаданных. Объектная модель клиента для отслеживания рабочих элементов проверяет, что WorkItemStore использует самую последнюю версию метаданных. Система выполняет эту проверку при каждом вызове метода, который требует выполнения цикла обработки на сервере, например WorkItemStore.Query или WorkItem.Save. Если существует более поздняя версия метаданных, система получает обновленные метаданные, а затем создает событие WorkItemStore.MetadataChanged.
Если изменения метаданных влияют на код, код должен ответить на это событие. Например, код, отображающий форму рабочего элемента, должен отвечать на это событие, чтобы на экран выводилась самая последняя версия формы.
Код может запрашивать у своего экземпляра WorkItemStore проверку наличия обновлений в локальном кэше метаданных, вызывая WorkItemStore.SyncToCache. Например, если приложение использует несколько объектов WorkItemStore, при получении события WorkItemStore.MetadataChanged код может использовать WorkItemStore.SyncToCache, чтобы запросить использование объектами WorkItemStore обновленной версии кэша метаданных.
Код может запрашивать у своего экземпляра WorkItemStore проверку обновленных метаданных на сервере, вызывая WorkItemStore.RefreshCache.