刚接触remoting,看着网上的例子,写了一个示例,记录步骤:
1.创建一个PersonManager类库,里面是我们要对对象的操作方法,这里就不写啦。。。
2. 创建服务器端:
/// //建立服务传输方式,可选择TCP或者HTTP,前者更能发挥高效性
TcpServerChannel tcp = new TcpServerChannel(8089);
/// //注册通道
ChannelServices.RegisterChannel(tcp, true);
//添加可调用的远程对象,WellKonwnObjectMode可选择为SingleTon或者SingleCall
RemotingConfiguration.RegisterWellKnownServiceType(typeof(PersonManager), "PersonUri", WellKnownObjectMode.SingleCall);
MessageBox.Show("服务已经启动。。。");
3.创建客户端:
//确立通道传送方式
TcpClientChannel tcpc = new TcpClientChannel("ch1", new BinaryClientFormatterSinkProvider());
ChannelServices.RegisterChannel(tcpc, true);
/使用Activator.GetObject()或者Activator.CreateInstance()方法建立透明代理,控制远程对象
PersonManager personManager = (PersonManager)Activator.GetObject(typeof(PersonManager), "tcp://localhost:8089/PersonUri");
List<Person> personList = new List<Person>();
personList = personManager.GetList();
// if (personList == null) { Response.Write("null"); } else { Response.Write("notnull"); }
MessageBox.Show("count:" + personList.Count());
然后 就看看吧,看看能不鞥出来结果。