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.Collection list;
//一覧の取得を実行
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)