最簡單的c#Remoting程式設計

一劍平江湖發表於2013-01-15
1.建立一個類庫專案:P1
a.類繼承於System.MarshalByRefObject
b.定義要公有訪問的類A1
2.建立一個伺服器專案
a.增加System.Runtime.Remototing和類庫專案的引用
b.增加引用:
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;
using P1;
c.啟動服務
TcpServerChannel channel=new TcpServerChannel(8086);
ChannelServices.RegisterChannel(channel);//註冊伺服器通道
RemotingConfiguration.RegisterWellKnownServiceType(typeof(Hello),"Hi",WellKnownObjectMode.SingleCall);//註冊遠端服務物件型別
System.Console.WriteLine("hit to exit");
System.Console.ReadLine(); //等待
3.建立一個客戶端專案
a.增加System.Runtime.Remototing和類庫專案的引用
b.增加引用:
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;
using P1;
c.呼叫服務
ChannelServices.RegisterChannel(new TcpClientChannel());//註冊客戶通道
Hello obj=(Hello)Activator.GetObject(typeof(Hello),"tcp://localhost:8086/Hi");//使用透明代理與伺服器通訊
if(obj==null)//檢查通訊是否成功
{
 Console.WriteLine("Can not locate server!");
 return;
}
for(int i=0;i<5;i++)//呼叫伺服器上提供的函式
{
Console.WriteLine(obj.Greeting("glf"));
}
Console.WriteLine("hit to exit");
Console.ReadLine();

相關文章