• .net remoting(1)简单例子


    1.例子(程序间的通讯)

        class Program
        {
            static void Main(string[] args)
            {
                HttpChannel _channel = new HttpChannel(10001);
                ChannelServices.RegisterChannel(_channel, false);
                Console.WriteLine("http 通道remoting服务开始……");
                //方法 RegisterWellKnownServiceType 将服务器上的对象类型注册为已知类型
                RemotingConfiguration.RegisterWellKnownServiceType
                    (typeof(selfRemoteObject), "selfRemoteObject",
                    WellKnownObjectMode.Singleton);
                //服务器激活的对象有两种激活模式:Singleton和SingleCall,这两种模式又叫已知对象,由枚举类型:WellKnownObjectMode来标识。
                //Singleton类型在任一时刻只有一个实例。所有的客户端请求都将由这个实例提供服务。如果不存在实例,则服务器创建一个,且所有的后来的客户端请求都将由这个实例提供服务。对于单件类型,会关联到默认的生存期。
                //SingleCall类型针对每个客户端请求创建一个实例。下一个方法调用将由其他服务器实例提供服务,即使在系统尚未回收前一个实例的引用的情况下也是这样。
                Test();
                Console.Read();
            }
    
    
            public static void Test()
            {
                //通过Actovator.GetObject方法来获取代理
                selfRemoteObject app =
                (selfRemoteObject)Activator.GetObject(typeof(selfRemoteObject),
                "http://localhost:10001/selfRemoteObject");
                Console.WriteLine(app.Plus(1, 3));
                Console.ReadLine();
            }
        }
    
        public class selfRemoteObject : MarshalByRefObject
        {
            public int Plus(int a, int b)
            {
                Console.WriteLine("客户端请求调用:a={0},b={1}", a, b);
                Console.WriteLine("计算结果:a+b={0},返回给客户端调用", a + b);
                return a + b;
            }
        }

     

  • 相关阅读:
    jira 解决结果配置
    .net core ef mysql in 参数化写法
    CentOS安装破解版Jira 亲测有效(附带破解包)
    实现js读取Excel数据
    android权限(permission)大全
    如何搭建Nuget服务器
    WebApi配置Swagger
    Aps.Net WebApi依赖注入
    解决.Net Core跨域问题
    一篇关于Asp.Net Model验证响应消息的问题处理
  • 原文地址:https://www.cnblogs.com/lgxlsm/p/7506158.html
Copyright © 2020-2023  润新知