2015-11-04 7 views
1

Я проверяю некоторые файлы из TFS программно и перед каждым вызовом на проверку я проверяю, аутентифицирован ли я или нет. Некоторые файлы проверяются правильно, но на одном файле в() методы AUTHENTICATE терпит неудачу со следующим исключением:TFS бросает исключение TeamFoundationServerInvalidResponseException при попытке аутентификации

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() 

Кто-нибудь есть идея, почему i'am получать эту InvalidResponse здесь? Я использую последние сборки клиентов TFS через NuGet. аутентификации в основном делается так:

m_tfsServer = new TfsTeamProjectCollection(new Uri(serverUri), new TfsClientCredentials()); 
if(!m_tfsServer.HasAuthenticated) 
    m_tfsServer.Authenticate(); 
+0

как вы проходя serveruri? –

+0

ServerUri фактически передается как «http: // myserver/tfs» –

+1

Это исключение всегда возникает только при проверке подлинности перед этим файлом? Связан ли этот файл с одной коллекцией проекта с другими файлами? –

ответ

2

обычно я делаю это в следующем виде:

   string [email protected]"http://myserver/teamservercollection" 
      TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(new Uri(STRuri));     
      VersionControlServer vcs = tpc.GetService<VersionControlServer>(); 
      Workspace workspace = vcs.GetWorkspace(System.Environment.MachineName, vcs.AuthenticatedUser); 
Смежные вопросы