Team Foundation のクライアント オブジェクト モデルを使用した作業項目トラッキングの拡張

作業項目を追跡するオブジェクト モデルを使用することによって、的に作業項目のバグ、タスク、およびそのほかの型を作成、変更、表示できます。作業項目にアクセスするには、コンソール アプリケーションからの Team Foundation Server への接続に示すように Visual Studio Team Foundation Serverに最初に、接続する必要があります。

一般的なタスク

Team Foundation のクライアント オブジェクト モデルを使用した作業項目の作成

Team Foundation のクライアント オブジェクト モデルを使用した作業項目の編集と保存

バグ、タスク、およびその他の作業項目の照会

WorkItemStore.GetWorkItem

(Gallery Code) 保存されているクエリを押します。

(CodePlex) TFS の作業項目トラッキングのカスタム コントロール

Team Foundation のクライアント オブジェクト モデルを使用したさまざまな種類の作業項目のコードの記述

スレッドの考慮事項

自分のアプリケーションで multithreaded の場合、各スレッドの WorkItemStore を作成する必要があります。スレッドを WorkItemStoreを共有すると、アプリケーションは味縮小増幅されません。WorkItemStore および関連するオブジェクトを処理している場合は WorkItemStore を共有する他のスレッドは、すべてブロック。

WorkItemStore を初期化する原価が重要です。したがって、オブジェクトを初期化して、スレッドの実施期間中、への参照を保持する必要があります。たとえば、ASP.NET のアプリケーションで作業項目を追跡するオブジェクト モデルを使用した場合、ユーザー セッションの WorkItemStore のオブジェクトをキャッシュするか、スレッド プールを作成し、各スレッドに WorkItemStore の一つのオブジェクトを使用する必要があります。

メタデータ

作業項目のデータベースで、作業項目の型の設定に関する各チーム プロジェクトでコンフィギュレーションして使用されるまたは作業項目と、ルール、フォームなどの情報のタイプを説明する一連のメタデータが含まれます。WorkItemStore は、ローカルのキャッシュのメタデータ取得し、使用します。メタデータは、これらの要素のいずれかを更新するたびに変更されます。たとえば、値がフィールドで許可されている値の一覧に追加されると、メタデータの別のバージョンが作成されます。作業項目を追跡するためのクライアントのオブジェクト モデルは、WorkItemStore がメタデータの最新バージョンを使用していることを確認します。システムは WorkItemStore.Query または WorkItem.Saveなどのサーバーにラウンド トリップが発生する方法を待機する場合に、この検証を実行します。メタデータの新しいバージョンがあった場合、更新されたメタデータを取得し、を WorkItemStore.MetadataChanged のイベントを上げます。

自分のコードがメタデータの変更によって影響した場合、のコードはこのイベントに回答する必要があります。たとえば、コード。フォームの最新バージョンが表示されるようにこのイベントに作業項目をフォームの対応期限を表示します。

自分のコードは WorkItemStore のインスタンスを WorkItemStore.SyncToCacheの呼び出し、ローカルなメタデータ キャッシュに更新を確認するメッセージが表示できます。たとえば、WorkItemStore のオブジェクトを要求するためにメタデータ キャッシュの更新されたバージョンを使用するために、アプリケーションで WorkItemStore の複数のオブジェクトを、WorkItemStore.MetadataChanged のイベントの入庫時、の WorkItemStore.SyncToCache コードを使用できるを使用します。

自分のコードは WorkItemStore のインスタンスを WorkItemStore.RefreshCacheの呼び出し、更新されたメタデータのサーバーを確認するメッセージが表示できます。

その他のリソース

Team Foundation の拡張

(Gallery Code) サンプルの WorkItem

Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore

Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItem