.Net Remoting服务端与客户端调用示例

来源:互联网 发布:js动态生成商品表格 编辑:程序博客网 时间:2024/05/16 10:03

.Net Remoting的使用场景,我们常用的就是使用接口分离程序集的方式,这个小示例就是采用这种方式。

公共程序接口IDemoClass:

public interface IDemoClass    {        string Show(string name);    }
服务端代码实现:

1.方法类必须继承MarshalByRefObject,并实现IDemoClass接口

public class DemoClass : MarshalByRefObject, IDemoClass    {        public string Show(string name)        {            return name + "/Server";        }    }
2.服务端注册端口,开启监控服务

class Program    {        static void Main(string[] args)        {            RegisterChannel();//注册端口            Singleton();    //开启服务            Console.ReadKey();        }        static void RegisterChannel()        {            IChannelReceiver tcpChnl = new TcpChannel(15200);            ChannelServices.RegisterChannel(tcpChnl, false);        }        static void Singleton()        {            Type t=typeof(DemoClass);            RemotingConfiguration.RegisterWellKnownServiceType(t, "DemoClass", WellKnownObjectMode.Singleton);</span>
<span style="white-space:pre"></span>    //Singleton为单件模式,所有客户端共享同一个对象   SingleCall为每次请求都会创建对象,方法返回后销毁对象        }    }

完成以上两步,服务端代码实现完毕,现在可以执行服务端程序,开启服务。


客户端调用服务端方法代码如下

class Program    {        static void Main(string[] args)        {            string url = "tcp://10.0.140.137:15200/DemoClass";            IDemoClass obj = (IDemoClass)Activator.GetObject(typeof(IDemoClass), url);            string result = obj.Show("test");            Console.WriteLine(result);            Console.ReadKey();        }    }
客户端实现代码完毕,现在运行调用服务端方法返回


返回结果为test/Server,调用成功。

0 0
原创粉丝点击