zoukankan      html  css  js  c++  java
  • .net Remoting(1)——起点,从示例做起

    .net remoting用于应用程序之间通信。

    先做一简单的示例:

    准备三个项目。

    (一)远程对象

    新建立类库项目:SelfRemote

    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;

    }  

    }

    MarshalByRefObject派生,然后完成可远程调用的服务(方法)。然后生成库文件,并把库文件做为服务端与客户端两端的引用库。

    (二)服务端

    建立控制台应用程序,用于注册通道。(添加对远程对象生成库的引用)

    static void Main(string[] args)

    {

        HttpChannel _channel = new HttpChannel(10001);

        ChannelServices.RegisterChannel(_channel,false);

     

        Console.WriteLine("http 通道remoting服务开始……");

        RemotingConfiguration.RegisterWellKnownServiceType

    (typeof(selfRemoteObject), "selfRemoteObject",

     WellKnownObjectMode.Singleton);

       

        Console.Read();

    }

    建立Http通道

    (三)客户端

    添加对远程对象生成库的引用

    public void Test()

    {

    selfRemoteObject app =

    (selfRemoteObject)Activator.GetObject(typeof(selfRemoteObject),

    "http://localhost:10001/selfRemoteObject");

    Console.WriteLine(app.Plus(1,3));

    Console.ReadLine();

    }

    (四)测试

    控制台:

    客户端请求调用:a=1,b=3

    计算结果:a+b=3,返回给客户端调用

     

    客户端:

    4

     

    以一个简单的示例来演示remoting的实现过程。

    ·在这个例子中,做为远程remoting对象的SelfRemote类库生成库文件,要在两端都引用。

    ·对于两端的配置可以在以程序的方式进行,也可以以配置文件的方式进行。

  • 相关阅读:
    分库分表(1) --- 理论
    Elasticsearch(10) --- 内置分词器、中文分词器
    Elasticsearch(9) --- 聚合查询(Bucket聚合)
    Elasticsearch(8) --- 聚合查询(Metric聚合)
    Elasticsearch(7) --- 复合查询
    Elasticsearch(6) --- Query查询和Filter查询
    Elasticsearch(5) --- 基本命令(集群相关命令、索引CRUD命令、文档CRUD命令)
    第二周 Word版面设计
    第六周 Word目录和索引
    第五周 Word注释与交叉引用
  • 原文地址:https://www.cnblogs.com/jams742003/p/1690348.html
Copyright © 2011-2022 走看看