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 に答える