四.开发Remoting三步走:
开发.NET Remoting分三步走,在这里以一个简单的例子来说明。
1.创建远程对象:
继承System.MarshalByRefObject
1using System;
2using System.Collections;
3using System.Text;
4
5namespace SimpleRemoting
6{
7 public class HelloServer : MarshalByRefObject
8 {
9 public HelloServer()
10 {
11 /**////输出信息,服务器激活
12 Console.WriteLine("服务器激活……");
13 }
14 public String HelloMethod(String name)
15 {
16 Console.WriteLine(
17 "服务器端 : {0}", name);
18 return "这里是:" + name;
19 }
20 }
21}
2.创建宿主应用程序:
注册通道
注册服务器激活的远程对象
运行宿主程序
1using System;
2using System.Net;
3using System.Runtime.Remoting;
4using System.Runtime.Remoting.Channels;
5using System.Runtime.Remoting.Channels.Tcp;
6using System.Runtime.Remoting.Channels.Http;
7
8namespace SimpleRemoting
9{
10
11 public class Server
12 {
13 public static int Main(string [] args)
14 {
15
16 /**////创建Tcp通道
17 TcpChannel chan1 = new TcpChannel(8085);
18
19 /**////创建Http通道
20 HttpChannel chan2 = new HttpChannel(8086);
21
22 /**////注册通道
23 ChannelServices.RegisterChannel(chan1);
24 ChannelServices.RegisterChannel(chan2);
25
26 RemotingConfiguration.RegisterWellKnownServiceType
27 (
28 typeof(HelloServer),
29 "SayHello",
30 WellKnownObjectMode.Singleton
31 );
32
33
34 System.Console.WriteLine("按任意键退出!");
35 /**////下面这行不能少
36 System.Console.ReadLine();
37 return 0;
38 }
39
40 }
41}
