【发布时间】:2016-02-04 15:36:25
【问题描述】:
我正在以编程方式从 TFS 中检出一些文件,并且在每次调用检出之前,我都会检查我是否经过身份验证。某些文件已正确签出,但在一个文件上 Authenticate() 方法失败,并出现以下异常:
Microsoft.TeamFoundation.TeamFoundationServerInvalidResponseException: Wenden Sie sich an den Administrator. Fehler bei der Anforderung an den Server.
Technische Informationen (für Administrator):
HTTP-Code 200: OK
bei Microsoft.TeamFoundation.Client.Channels.TfsHttpWebRequest.ReadMessage(HttpWebResponse webResponse, WebException webException, Stream responseStream, Boolean& closeResponse)
bei Microsoft.TeamFoundation.Client.Channels.TfsHttpWebRequest.ReadResponse(HttpWebResponse webResponse, WebException webException)
bei Microsoft.TeamFoundation.Client.Channels.TfsHttpWebRequest.IsAuthenticationChallenge(TfsMessage requestMessage, HttpWebResponse webResponse, WebException webException, TfsMessage& responseMessage)
bei Microsoft.TeamFoundation.Client.Channels.TfsHttpWebRequest.SendRequest()
bei Microsoft.TeamFoundation.Client.Channels.TfsHttpRequestChannel.Request(TfsMessage message, TimeSpan timeout)
bei Microsoft.TeamFoundation.Client.Channels.TfsHttpClientBase.Invoke(TfsClientOperation operation, Object[] parameters, TimeSpan timeout, Object[]& outputs)
bei Microsoft.TeamFoundation.Framework.Client.LocationWebService.Connect(Int32 connectOptions, Int32 lastChangeId, Int32 features)
bei Microsoft.TeamFoundation.Framework.Client.FrameworkServerDataProvider.Connect(ConnectOptions connectOptions)
bei Microsoft.TeamFoundation.Client.TfsConnection.EnsureProviderConnected()
有谁知道,为什么我在这里得到这个InvalidResponse?
我正在通过 NuGet 使用最新的 TFS 客户端程序集。
身份验证基本上是这样完成的:
m_tfsServer = new TfsTeamProjectCollection(new Uri(serverUri), new TfsClientCredentials());
if(!m_tfsServer.HasAuthenticated)
m_tfsServer.Authenticate();
【问题讨论】:
-
你是如何传递 serveruri 的?
-
ServerUri 实际上像“myserver/tfs”一样传递
-
此异常是否总是仅在检查该文件之前的身份验证时发生?该文件是否与其他文件属于同一个团队项目集合?
-
是的,我总是在签出文件之前尝试通过上面的检查进行身份验证。所有文件都属于同一个团队项目。