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

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

  • 相关阅读:
    css圆角与阴影,[iecss3.htc文件需要下载]
    [纯css下拉菜单]兼容各种IE,但搜狗好像有点问题
    UITabBar的隐藏与显示
    UIScrollView属性总结
    NSTimer 用法小结
    自定义UINavigationController的push和pop切换界面动画
    UIScrollView实现缩放和居中
    UITableView内存警告销毁视图后重新load视图,cell未显示内容
    Select的使用
    FreeType的使用
  • 原文地址:https://www.cnblogs.com/jams742003/p/1690348.html
Copyright © 2011-2022 走看看