通过.NET Remoting调用CCNET接口的方法
像我们用的cctray,可以设置.NET Remoting的方式添加一个主机,然后获取服务器编译的结果并提供手工触发编译的功能。因为工作需要,我需要通过代码查询编译服务器当前的编译状况,获取一些CCNET服务器端的信息。因此,我也通过.NET Remoting方式,轻松的取得了想要的一些信息。
首先,需要添加引用:ThoughtWorks.CruiseControl.Remote.dll,了解.NET Remoting的应该知道这个DLL定义的是远程封送的对象接口。
然后,调用也很简单:
static void Main(string[] args)
{
ICruiseManager manger = (ICruiseManager)RemotingServices.Connect(typeof(ICruiseManager),
"tcp://xxx.xxx.xxx.xxx:21234/CruiseManager.rem");
ProjectStatus[] status = manger.GetProjectStatus();
foreach (var s in status)
{
// 输出上次成功编译的标签号
Console.WriteLine(s.LastSuccessfulBuildLabel);
}
}
{
ICruiseManager manger = (ICruiseManager)RemotingServices.Connect(typeof(ICruiseManager),
"tcp://xxx.xxx.xxx.xxx:21234/CruiseManager.rem");
ProjectStatus[] status = manger.GetProjectStatus();
foreach (var s in status)
{
// 输出上次成功编译的标签号
Console.WriteLine(s.LastSuccessfulBuildLabel);
}
}
微信扫一扫交流
作者:CoderZh
公众号:hacker-thinking (一个程序员的思考)
独立博客:http://blog.coderzh.com
博客园博客将不再更新,请关注我的「微信公众号」或「独立博客」。
作为一个程序员,思考程序的每一行代码,思考生活的每一个细节,思考人生的每一种可能。
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。