TFS(Team Foundation Server) 2010的一個(gè)新特性是自動(dòng)的版本控制代理配置。第一次執(zhí)行版本控制操作的時(shí)候,客戶端會(huì)連接到服務(wù)器,然后,它會(huì)請(qǐng)求代理配置信息。如果對(duì)于這個(gè)客戶端來說,沒有代理可用,那么它會(huì)在24小時(shí)以后再次請(qǐng)求代理配置信息的。
為了讓代理可以在本地自動(dòng)配置,客戶端需要提供這個(gè)服務(wù)器在Active Directory中的“site name”。服務(wù)器使用這個(gè)數(shù)據(jù)來判斷要把哪幾個(gè)代理分配給這個(gè)客戶端。在德國(guó)的客戶端會(huì)被分配德國(guó)的代理,在南非的客戶端會(huì)被分配南非的代理。這和Windows通過Add Printer Wizard把地域上離你最近的打印機(jī)顯示給你使用的是同一種機(jī)制。
不幸的是,VS(Visual Studio) 2010客戶端中的這個(gè)自動(dòng)的版本控制代理配置機(jī)制和2005/2008版本的服務(wù)器一起使用的時(shí)候,還存在一個(gè)bug。當(dāng)和舊版本的服務(wù)器一起使用的時(shí)候,無法查詢代理配置信息。這主要是因?yàn)榉?wù)器不支持這個(gè)功能。但是,通過執(zhí)行如下列表中的任何一個(gè)版本控制操作,你還是可以檢索Active Directory中的“site name”。
* Get
* Merge
* Unshelve
* Edit
* Delete
* Undelete
* Rename
* Undo
* Add
* Branch
* Resolve
在任何情況下,從LDAP(Lightweight Directory Access Protocol )獲取這個(gè)數(shù)據(jù)都會(huì)帶來一定的性能損失。但是,在某些情況下,這個(gè)性能損失會(huì)特別大。一個(gè)客戶報(bào)告說,檢索Active Directory中的“site name”延遲了8到9分鐘。如果你正在使用VS(Visual Studio) 2010和TFS(Team Foundation Server)2005/2008。你可以通過下面的注冊(cè)表設(shè)置來禁用自動(dòng)代理配置,你將會(huì)看到明顯的性能提升。
首先,在Visual Studio中檢查你的版本控制代理設(shè)置:Tools –> Options –> Source Control –> Visual Studio Team Foundation Server。如果你過去配置過一個(gè)代理,那么proxy server protocol, name,和port都應(yīng)該是可用的,你不會(huì)受到這個(gè)問題的影響。(如果你想100%確認(rèn)自己的代理設(shè)置是怎樣的,驗(yàn)證代理設(shè)置的說明如下)
不使用版本控制代理:
對(duì)于那些不使用代理服務(wù)器的用戶來說,他們的設(shè)置如下。所有文件都可以直接從TFS(Team Foundation Server)服務(wù)器直接下載。
以下是代碼片段: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\TeamFoundation\SourceControl\Proxy] "Enabled"="False" "Url"="http://dummy.example.com/" "AutoConfigured"="False" |
手動(dòng)配置版本控制代理:
你無需進(jìn)行進(jìn)一步的操作。如果你喜歡的話,你可以直接檢查你的注冊(cè)表設(shè)置來確認(rèn)他們是否和下面的注冊(cè)表設(shè)置一致。(如果除了這些值,你還看到了“LastCheckTime” 或“LastConfigureTime”項(xiàng),那也是正常的,他們是“無害的” )
以下是代碼片段: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\TeamFoundation\SourceControl\Proxy] "Enabled"="True" "Url"="http://yourversioncontrolproxy:8081/" "AutoConfigured"="False" |
安裝臨時(shí)解決方案的設(shè)置
把上面那些文本復(fù)制/粘貼到記事本,然后另存為.reg文件,執(zhí)行這個(gè)文件。接著,你會(huì)收到把這個(gè)數(shù)據(jù)合并到注冊(cè)表的權(quán)限警告,確認(rèn),重新啟動(dòng)Visual Studio后這些改變就生效了。