using (SvnClient client = new SvnClient()) { //サーバー上のリポジトリ位置の設定 SvnUriTarget repos = new SvnUriTarget(new Uri("file:///C:/svn_repository/SvnTest/")); //クライアントのファイル位置を設定 SvnPathTarget local = new SvnPathTarget(@"C:\source\subvertionTest"); //両方の情報を取得 SvnInfoEventArgs serverInfo; SvnInfoEventArgs clientInfo; client.GetInfo(repos, out serverInfo); client.GetInfo(local, out clientInfo); //リビジョンを比較 if (serverInfo.Revision != clientInfo.Revision) { SvnUpdateResult ret; //クライアントのファイルを最新に更新 client.Update(@"C:\source\subvertionTest", out ret); } //ファイルの一覧取得用引数の指定 SvnListArgs args = new SvnListArgs(); //リビジョンを指定 args.Revision = 2; //処理結果格納変数を定義 System.Collections.ObjectModel.Collectionlist; //一覧の取得を実行 client.GetList(repos, out list); //処理結果の表示 foreach (var i in list) { switch (i.Entry.NodeKind) { case SvnNodeKind.Directory: Console.WriteLine("Directory:{0}",i.EntryUri.LocalPath); break; case SvnNodeKind.File: Console.WriteLine("File:{0}",i.EntryUri.LocalPath); break; } } }
2010年4月18日日曜日
[C#] SharpSVNを使ってSubversionを操作してみる
SharpSVNはSubvertionの.Net用クライアントライブラリ。
それを使って、ローカルのファイルを更新する処理のメモです。
ざっくりコードを乗せてみます。
2010年3月30日火曜日
[WCF](暫定)WCFでSoapとRestを共通で
はじめてのWCFです。
ホントはRestとNamedPipeをやりたかったけど、IIS7.0がいるって事らしいのであきらめました。
なんで、SoapとRestの共通化(?)する方法。
まず、適当なWcfサービスを作って、「System.ServiceMode.Web」を参照設定する。
InterfaceにUsing System.ServiceMode.Web; なんて書いてGetMessageなんてメソッドを作る。
この時、Attributeに「WebGet」をつける。
addressのあたりをユニークに設定するとうまくいくらしい。
で、これを使うWebサイトを作って、Web参照すると普通にSoapで使える。
ブラウザから「http://localhost:8080/Service1.svc/Rest/GetMessage/TestMessage/」なんて打てば、
「IService1.GetMessage + TestMessage 」
こんなレスポンスがもらえると。
ホントはRestとNamedPipeをやりたかったけど、IIS7.0がいるって事らしいのであきらめました。
なんで、SoapとRestの共通化(?)する方法。
まず、適当なWcfサービスを作って、「System.ServiceMode.Web」を参照設定する。
InterfaceにUsing System.ServiceMode.Web; なんて書いてGetMessageなんてメソッドを作る。
この時、Attributeに「WebGet」をつける。
[WebGet(UriTemplate = "GetMessage/{key}/")] [OperationContract] string GetMessage(string key);実処理も適当に実装。
public string GetMessage(string key) { return "IService1.GetMessage + " + key; }以上で、Wcfサービスのコーディングは完了。 後はWeb.Configの設定。 system.serviceModelの中を色々と変更。 まず、behaviorsを書く。
次にservices.serviceにendPointを書く。
addressのあたりをユニークに設定するとうまくいくらしい。
で、これを使うWebサイトを作って、Web参照すると普通にSoapで使える。
ブラウザから「http://localhost:8080/Service1.svc/Rest/GetMessage/TestMessage/」なんて打てば、
「
こんなレスポンスがもらえると。
2010年1月31日日曜日
[C#] List.ConvertAll
C# 3.0以上で出来ます。(VBでも出来るはず)
Listの値をCSV文字列に変換出来ます。
1行で書くことが良いかは別として出来るんですね。
# 勝手にHTMLタグが書き込まれて消せない。。。
Listの値をCSV文字列に変換出来ます。
//Listをカンマ区切りの文字列に変換する List lst = new List { 1, 3, 5, 7 }; string csv = string.Join(",", lst.ConvertAll ( delegate(int value) { return value.ToString(); }).ToArray()); //カンマ区切りの文字列をList に変換する lst = csv.Split(',').ToList ().ConvertAll ( delegate(string value) { return int.Parse(value); });
1行で書くことが良いかは別として出来るんですね。
# 勝手にHTMLタグが書き込まれて消せない。。。
登録:
投稿 (Atom)