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类库生成库文件,要在两端都引用。

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

  • 相关阅读:
    CentOS75 安装 telnet 进行使用.
    Windows 创建计划任务 实现自动同步文件.
    qemu-img.exe 工具 简介
    中建项目环境迁移说明
    服务器内存最大大小限制
    bzip2 以及 tar 压缩/解压缩/.打包等工具软件
    Ubuntu18.04 安装后的简单实用设置[未完成]
    oracle 启动监听报错TNS-12547: TNS:lost contact
    Linux审计sudo
    OPENVAS运行
  • 原文地址:https://www.cnblogs.com/jams742003/p/1690348.html
Copyright © 2011-2022 走看看