GetWorkItemsAsync
在检索1800个工作项时失败。示例:
int[] ids = (from WorkItem info in wlinks select info.Id).ToArray();
WorkItemTrackingHttpClient tfvcClient = _tfs.GetClient<WorkItemTrackingHttpClient>();
List<Microsoft.TeamFoundation.WorkItemTracking.WebApi.Models.WorkItem> dworkitems = tfvcClient.GetWorkItemsAsync(ids).Result;
如果我传递包含90个元素的Ids数组,它可以正常工作。
是否有任何限制只能获得n个元素,我们如何克服这个问题?
答案 0 :(得分:1)
是的,URL长度有限制,一旦超过URL长度,它就会出现此异常。
因此,作为一种解决方法,您可以将呼叫限制为一次允许的范围(例如,每次200个ID)。然后多次调用查询。
不幸的是,您已经达到了URL长度的限制。一旦URL 已超出长度,服务器只获取截断版本, 因此截断的工作项ID无效的几率很高。
我建议您一次限制200个ID。
来源 : https://github.com/Microsoft/vsts-dotnet-samples/issues/49
引用此主题以限制URL长度:What is the maximum length of a URL in different browsers?
这个类似的帖子供您参考:Is there any restriction for number of characters in TFS REST API?