#c# #.net #authentication #tfs #tfs-sdk
#c# #.net #аутентификация #tfs #tfs-sdk
Вопрос:
У меня есть доступ к определенному проекту TFS на моем сервере. Я хочу получить программный доступ к этому проекту с помощью TFS API. Я не вижу способа прямого доступа к проекту, вместо этого я должен пройти через TfsTeamProjectCollection. Однако, когда я пытаюсь пройти аутентификацию в TfsTeamProjectCollection, мне отказывают в разрешениях. Когда я вызываю Authenticate()
метод, я получаю эту ошибку:
An unhandled exception of type
'Microsoft.TeamFoundation.TeamFoundationServiceUnavailableException' occurred in
Microsoft.TeamFoundation.Client.dll
Additional information: HTTP code 407: Proxy Authentication Required
Вот мой код:
const string destProjectName = "Test_Dest";
var destUri = new Uri("https://mytfs.server.com:####/tfs/MyProjectCollection");
var destBasicCreds = new BasicAuthCredential(new NetworkCredential("domainusername", "password"));
var destCreds = new TfsClientCredentials(destBasicCreds) { AllowInteractive = false };
var destTpc = new TfsTeamProjectCollection(destUri, destCreds);
destTpc.Authenticate();
Я пробовал как BasicAuthCredential, так и WindowsCredential, и получаю ту же ошибку. Есть ли что-то еще, что я должен попробовать?
Комментарии:
1. Это не кажется мне проблемой аутентификации TFS, скорее проблемой прокси. Вы используете прокси-сервер?
2. С какого клиента вызывается этот код? И откуда?
3. @ChrisBint, я согласен. После некоторого дальнейшего тестирования я обнаружил, что если я действительно перейду на веб-страницу и войду в систему там, то мой код будет выполнен. Думаю, мне придется исследовать аутентификацию на прокси. Какие-нибудь советы?
4. @Mike Cheel, в настоящее время я вызываю этот код из отладчика в Visual studio. =)
5. Я имел в виду извне вашего домена сети или внутри?