我正在使用SharpSVN。
我想将SVN凭证存储在电脑中。
我尝试设置凭据更新默认凭据
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。
现在有人怎么做?
谢谢!
答案 0 :(得分:5)
我找到了答案!
对于正在使用的计算机中的保存凭据
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
供访问使用: