TFS 2012 API - .GetService <workitemstore>()慢</workitemstore>

时间:2013-03-20 04:54:34

标签: .net web-services tfs2012

我使用TFS 2012服务器上安装的TFS API提供自定义Web服务。将TFS服务器从2010升级到2012后,每次调用该服务时,以下代码行需要20到30秒才能为我的用户执行:

WorkItemStore store = tfsCollection.GetService();

在升级之前,此Web服务的性能很好。

有没有人遇到像这样的TFS 2012 API的性能问题?有没有人建议解决这个性能问题?

我确实已配置了缓存设置WorkItemTrackingCacheRoot。

1 个答案:

答案 0 :(得分:1)

我们与MS支持人员一起寻找解决方案。问题是在IIS 7中使用默认的.NET模拟。每个用户都获得了所有TFS非WIT内容(位置服务文件等)的临时缓存,并且每次调用都会重新生成。我们直接停止使用默认的.NET模拟,而是开始使用TFS模拟。这很有效,因为应用程序池用户(服务帐户)正在创建一次临时缓存。每个用户的身份都会传递给与TFS WIT相关的呼叫。

有关TFS模拟的详细信息,请参阅此博文:http://blogs.msdn.com/b/taylaf/archive/2009/12/04/introducing-tfs-impersonation.aspx