Я пытаюсь заставить ЭТО пример работать (пример клиентских библиотек .Net) - однако все, что я пытался сделать, приводит к ошибке:
Базовая аутентификация требует безопасного подключения к серверу.
В верхней части страницы, на которую я ссылаюсь, есть еще один пример использования REST Api, и он отлично работает. По какой-то причине я просто не могу заставить это работать, используя библиотеки!
Мой код выглядит так:
Uri uri = new Uri("http://adtfs:8080/tfs/{MyCompany}");
string personalAccessToken = "MyPATString";
VssBasicCredential credentials = new VssBasicCredential("", personalAccessToken);
using (ProjectHttpClient projectHttpClient = new ProjectHttpClient(uri, credentials))
{
IEnumerable<TeamProjectReference> projects = projectHttpClient.GetProjects().Result;
}
Как я уже упоминал, использование одного и того же URL и PAT в примере REST API работает нормально, но для библиотек я просто не могу избавиться от ошибки, упомянутой выше.
Я что-то упустил или кто-нибудь может предложить что-нибудь еще, что я мог бы попробовать, пожалуйста?
@ GI1 на самом деле это почти наверняка так. Бит «требуется безопасное соединение» означает HTTPS вместо HTTP.
Вроде получилось - спасибо! Не стесняйтесь добавлять в качестве ответа! Теперь я получаю еще одну ошибку (сбой рукопожатия из-за неожиданного формата пакета). Это также происходит при попытке примера REST API с Https. Я расследую это отдельно. Не стесняйтесь обновить с ответом для меня, чтобы принять.
Рукопожатие в https связано с SSL-сертификатом, но я могу ошибаться, поэтому возможно, что клиент не работает из-за неправильно настроенного SSL-сертификата на сервере или вы устанавливаете самозаверяющий сертификат, которому не доверяют на вашей машине уже запущен клиент? просто делаю еще одно предположение, извините
Измените http=>https с http://adtfs:8080/tfs/{MyCompany} на https://adtfs:8080/tfs/{MyCompany}... самый простой ответ был, я думаю, работает, рад, что помог... но просто в качестве предостережения, я добавлю это для потомков, вы все равно должны использовать https, если сервер его поддерживает (было приложение, которое работало иногда медленно, иногда быстро, и я не мог понять, почему, пока не увидел это https ://httpvshttps.com, оказывается, туннель https всегда воссоздавался, потому что я поставил http вместо https, а сервер был настроен на постоянное переключение на https).
Еще раз спасибо за это! Я использовал старый URL-адрес, так как у нас также есть https, который я сейчас использую, и он отлично работает! Здоровья за голову!
Вероятно, нет, но не могли бы вы изменить http=>https с http://adtfs:8080/tfs/{MyCompany} на https://adtfs:8080/tfs/{MyCompany}