2015-12-09 4 views
1

Я пытаюсь получить доступ к конечной точке TFS, используя следующий код:Доступ к TFS конечных точек программно

Uri collectionUri = new Uri("https://tfsendpoint.com:8443"); 
NetworkCredential networkCredential = new NetworkCredential(<username>, <password>); 
WindowsCredential windowsCredential = new WindowsCredential(networkCredential); 
TfsClientCredentials tfsClientCredentials = new TfsClientCredentials(windowsCredential); 
tfsClientCredentials.AllowInteractive = false; 
TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(collectionUri, tfsClientCredentials); 
tpc.Authenticate(); 
WorkItemStore workItemStore = tpc.GetService<WorkItemStore>(); 

Но tpc.Authenticate() бросает 403 Forbidden ошибка. Когда я получаю доступ к той же конечной точке (https://tfsendpoint.com:8443) через браузер, он открывает окно пользовательского интерфейса, чтобы ввести имя пользователя и пароль. После ввода он регистрируется и разрешает доступ к элементам TFS.

Заинтересованы, какие изменения необходимы в коде, чтобы пройти через прокси-сервер. Я попробовал BasicAuthCredential, SimpleWebTokenCredential. Но получить тот же 403 Запретный результат.

+0

Ваш код кажется хорошим. Как насчет того, чтобы установить tfsClientCredentials.AllowInteractive в true, чтобы иметь пользовательский интерфейс, чтобы пользователь вставлял имя пользователя и пароль? –

+0

Я пробовал это. Но это тоже не сработало. Пожалуйста, см. Мой комментарий ниже. – Romonov

ответ

1

Изменение URL коллекции в этом формате:

Uri collectionUri = new Uri("http://tfsserver:8080/tfs/collectionname"); 
+0

Получение ошибки TF400324: Услуги Team Foundation недоступны с сервера http: // tfsserver: 8080/tfs/collectionname. – Romonov

+0

в вашем случае это будет: http: // {changetoTFSServerName}: 8443/{changetoTFSCollectionName} – Isaiah4110

+0

Это дает ту же самую ошибку 403 Forbidden. – Romonov

Смежные вопросы