This is going to be a short post.
For performance improvement, TFS enables caching (as mentioned in previous post) and lazy loading in many places. These means reduce the amount of server calls as well as improves client-side UI rendering.
Here is a note to those who are coding against TFS WIT OM. Assuming we try the following code to get a Work Item:
WorkItem wi = workItemStore.GetWorkItem(itemId).
This is one server call. But keep in mind that the instance ‘wi’ doesn’t contain all the information of the item on the server. Say, if now you want to know the revision details of the item with the following code:
foreach (Revision rev in wi.Revisions) { … }
This results in another server call of GetRevisions() on the work item – yes, the lazy loading.