2

我正在使用 SharpSVN。

我想将 SVN 凭据存储在 pc 中。

我尝试设置凭据更新默认凭据

using (SvnClient client = new SvnClient())
{
    client.Authentication.DefaultCredentials = new System.Net.NetworkCredential("user", "password");
    ...
}

但它不保存数据。

我发现 SharpSvn 提供了一个默认的 GUI 来输入凭据。这个 GUI 有一个标志来存储数据。这里是我找到信息的链接:

这里是使用它的代码:

using (SvnClient client = new SvnClient())
{
    // Bind the SharpSvn UI to our client for SSL certificate and credentials
    SharpSvn.UI.SharpSvnUI.Bind(client, IWin32Window);
    ....
}

但它是为 Windows.Forms 制作的,我使用 WPF。另外,我不能使用这个默认的 GUI。

有人现在怎么办?

谢谢!!

4

1 回答 1

7

我找到了答案!

用于在正在使用的计算机中保存凭据

using (SvnClient client = new SvnClient())
{
    //Save localy new Authentication credentials
    client.Authentication.UserNamePasswordHandlers
    += delegate(object obj, SharpSvn.Security.SvnUserNamePasswordEventArgs args)
    {
        args.UserName = "username";
        args.Password = "password";
        args.Save= true;
    };
}

我经常找到在缓存中添加凭据的解决方案,但这不会将凭据存储在计算机中。此凭据仅对 SvnClient 生命有效。我报告完整性的答案

using (SvnClient client = new SvnClient())
{
    // Clear a previous authentication
    client.Authentication.Clear(); 
    client.Authentication.DefaultCredentials = new System.Net.NetworkCredential("user", "password");
}

我在这里找到了部分答案

和这里:

http://sharpsvn.open.collab.net/ds/viewMessage.do?dsMessageId=140680&dsForumId=728

查看方法 DialogUserNamePasswordHandler

http://sharpsvn.open.collab.net/svn/sharpsvn/trunk/src/SharpSvn.UI/SvnClientUIHandler.cs

访问使用:

  • 用户名:客人
  • 不需要密码
于 2013-06-12T17:08:58.710 回答