【发布时间】:2013-03-09 23:37:51
【问题描述】:
如何向TfsTeamProjectCollectionFactory.GetTeamProjectCollection 提供凭据?
我正在尝试从女巫那里开发自己的 WCF 服务,我将向 TFS 提出请求
我需要这个 WCF 服务,因为我想在无法使用 Microsoft.TeamFoundation.* dll 的情况下从移动设备管理我的 TFS 文件
我一直在尝试这种方式
Uri tpcAddress= new Uri("https://myserver.visualstudio.com/DefaultCollection");
TfsConnection tfsc = new TfsConfigurationServer(tpcAddress,
new NetworkCredential("mail@example.com", "password"));
TfsWebClient wc = new TfsWebClient(tfsc);
tfsc.Connect(ConnectOptions.IncludeServices);
第二次尝试使用从 ICredentialsProvider 派生的自定义类
ICredentialsProvider prov = new myCredentials();
var tpc = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(tpcAddress, prov);
tpc.EnsureAuthenticated();
tpc.Authenticate();
public class myCredentials : ICredentialsProvider
{
public ICredentials GetCredentials(Uri uri, ICredentials failedCredentials)
{
return new NetworkCredential("mail@example.com", "password");
}
public void NotifyCredentialsAuthenticated(Uri uri)
{
}
}
但它只在我的机器上工作,因为我登录到 tfs。
【问题讨论】:
-
如果您提供自己的 WCF 服务,为什么不以已通过身份验证的用户(服务帐户)身份运行该服务?
-
因为我正在尝试为移动用户提供此服务,以便他们可以访问编辑从他们的团队基础服务器中删除他们的元素
标签: c# web-services azure-devops tfs-sdk