我在C#中有以下代码:
1. public static void Main(string[] args) {
2. Uri repository = new Uri("https://svnserver:port/svn/Src/trunk");
3. using (SvnClient client = new SvnClient()) {
4. client.Authentication.Clear();
5. client.Authentication.DefaultCredentials = new System.Net.NetworkCredential("user", "pass");
6.
7. System.Collections.ObjectModel.Collection<SvnLogEventArgs> logEntries;
8. SvnLogArgs logArgs = new SvnLogArgs();
9. logArgs.Limit = 1;
10. client.GetLog(repository, logArgs, out logEntries);
11. }
12. }
如果我删除第4行和第5行,此代码可以正常运行。我假设它以某种方式在TortoiseSVN本地使用我保存的凭据。但是,我想在服务器环境中运行它,我需要专门传入用户名/密码。但是,一旦我尝试输入登录凭据,我就会在第10行收到以下错误:
SharpSvn.SvnRepositoryIOException was unhandled
Message: Unable to connect to a repository at URL
我在这里做错了什么?我已经确认我尝试使用的用户名/密码可以正常使用。
答案 0 :(得分:15)
我找到了答案......在第5行之后添加:
client.Authentication.SslServerTrustHandlers += delegate(object sender, SvnSslServerTrustEventArgs e) {
e.AcceptedFailures = e.Failures;
e.Save = true; // Save acceptance to authentication store
};