TeamFoundationServer и его NetworkCredential
От: Malokhatko  
Дата: 11.10.10 12:48
Оценка:
Добрый день!

Пишу программу (запускается в PreBuildEvent'ах), которая формирует заголовочный файл для проекта с версией (ChangesetID) каждого скомпилированого файла и саму версию программы (по самому высокому ChangesetID локальных файлов).

При получении объекта через фабрику, требуется что бы ранее была выполнена авторизация, для этого обычно открывал папочку Reports в TeamExplorer'e, студия просит авторизацию, дальше эта авторизация видимо попадает в кэш, и с тех пор этот метод работает и не требует авторизации.
tfs = TeamFoundationServerFactory.GetServer(ServerUri);


Но Жизнь идет, и не у всех и не всегда есть Reports, и не имеют они возможности так криво авторизироваться, нашелся правильный метод:
tfs = new TeamFoundationServer(ServerUri, System.Net.CredentialCache.DefaultNetworkCredentials, new UICredentialsProvider());
tfs.Authenticate();

Если кэшированный Credentials не подойдет, то вызовется диалог с приглашением ввести логин и пароль.

Все хорошо, НО введенный пароль и логин не кэшируються, вернее кешируються только для этого процесса (я так думаю), а как сделать так, что бы кэширование произошло на уровне System.Net.CredentialCache?
Что бы когда я вызвал статическую функцию System.Net.CredentialCache.DefaultNetworkCredentials там уже был ранее введенный Credentials.

Компилияция солюшена из десятка проектов, и десять раз вводить логин и пароль не комильфо.

Спасибо.
Re: TeamFoundationServer и его NetworkCredential
От: Митяй Россия http://dkomanov.livejournal.com
Дата: 11.10.10 23:06
Оценка: 3 (1)
M>Что бы когда я вызвал статическую функцию System.Net.CredentialCache.DefaultNetworkCredentials там уже был ранее введенный Credentials.

В Windows 7 (в остальных тоже есть, но я не знаю, где именно) можно попробовать в Credential Manager (Control Panel\User Accounts and Family Safety\Credential Manager) добавить Credential для tfs (см. http://social.msdn.microsoft.com/Forums/en/tfssetup/thread/1b89eef1-5aec-4072-9d45-0aac95111daf).
Re[2]: TeamFoundationServer и его NetworkCredential
От: Malokhatko  
Дата: 12.10.10 05:46
Оценка:
Здравствуйте, Митяй,

Спасибо, все отлично работает!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.