Remoting示例

通过Remoting,客户端可以借助远程对象的代理对象,完成服务端的操作,下面是一个最初的demo,深入学习可以参考链接:

http://www.cnblogs.com/xia520pi/archive/2011/11/02/2233371.html

服务端:

static void Main(string[] args)
        {
            //在服务器端创建TcpServerChannel信道
            var channel = new TcpServerChannel(8086);

            //注册该信道,使之可用于远程对象。
            ChannelServices.RegisterChannel(channel, true);

            //用于为服务器激活的对象注册远程对象类型,(把知名的远程对象类型注册为 RemotingServices)
            //第一个参数是 typeof(Hello),它指定远程对象的类型。第二个参数 Hi 是远程对象的 URI, 客户端访问远程对象时要使用这个 URI。 最后一个参数是远程对象的模式。
            RemotingConfiguration.RegisterWellKnownServiceType(typeof(Hello), "Hi", WellKnownObjectMode.SingleCall);

            Console.WriteLine("Press return to exit");
            Console.ReadLine();
        }  

客户端:

 static void Main(string[] args)
        {
            Console.WriteLine("Press return after the server is started");
            Console.ReadLine();

            //在客户端创建TcpServerChannel信道
            ChannelServices.RegisterChannel(new TcpClientChannel(), true);

            //GetObject()它调用Remoting Services.Connect()方法以 返回远程对象的代理对象。第一个参数指定远程对象的类型。第二个参数是远程对象的URL。
            Hello obj = (Hello)Activator.GetObject(typeof(Hello), "tcp://localhost:8086/Hi");
            if (obj == null)
            {
                Console.WriteLine("could not locate server");
                return;
            }
            for (int i = 0; i < 5; i++)
            {
                Console.WriteLine(obj.Greeting("Stephanie"));
            }
            Console.ReadLine();
        }  
时间: 2024-10-17 03:45:29

Remoting示例的相关文章

NET Remoting 示例

.NET Remoting是.NET平台上允许存在于不同应用程序域中的对象相互知晓对方并进行通讯的基础设施.调用对象被称为客户端,而被调用对象则被称为服务器或者服务器对象.简而言之,它就是.NET平台上实现分布式对象系统的框架.只要是跨越AppDomain的访问,都属于Remoting.Remoting编程基本原理:当客户端创建远程RemotableClass的一个实例,.NET框架在客户端应用程序域中产生一个代理.该代理看起来就像实际对象.代理收到调用后,通过通道连接到远程的对象. Remot

.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},返回给客户端调

NET Remoting 最简单示例

NET Remoting 最简单示例 2014-01-21 15:29 10492人阅读 评论(4) 收藏 举报  分类: .NET(6)  版权声明:本文为博主原创文章,未经博主允许不得转载. 学习技术知识一个好的方法是先动手,再深入, 给出一个最简单的Remoting程序示例(C#)如下: Step1:创建类库(DLL)工程RemotingObjects,类Person代码如下: [csharp] view plain copy using System; using System.Coll

rocketMQ的运行示例代码

rocketMQ的示例代码 1 import com.alibaba.rocketmq.client.exception.MQBrokerException; 2 import com.alibaba.rocketmq.client.exception.MQClientException; 3 import com.alibaba.rocketmq.client.producer.DefaultMQProducer; 4 import com.alibaba.rocketmq.client.pr

Castle 整合.NET Remoting

今天研究了一下Castle的Remoting Facility.记录如下: 微软以前使用COM/DCOM的技术来处理分布式系统架构,通过Client端的Proxy代理程序来呼叫远程Server机器上的对象..NET Framework则使用.NET Remoting或Web Services技术来实作分布式处理的工作概念:在这里针对.NET Remoting的设计架构做一个初步的简介和Castle整合示例. .NET Framework提供了多种的机制来支持Remoting,如: .利用Chan

读 《.Net 之美》解析.Net Remoting (应用程序域)-- Part.1

读 <.Net 之美>解析.Net Remoting (应用程序域)-Part1 理解 .Net Remoting 前言: 看张子阳老师的文章,总是给自己很大的信心,这个专题基本上以张老师的书为主,我整理书中的主要代码,补充了些自己的理解,希望和大家一起学习:) 背景: 分布式开发是一个重要的方向,前段时间做公司的一个爬虫项目,多个客户端和服务端的交互,使我产生了浓厚的兴趣,WCF.WebService.Socket也是常用 的技术..Net Remoting 在.NetFrameWork 3

跟我一起学WCF(2)——利用.NET Remoting技术开发分布式应用

一.引言 上一篇博文分享了消息队列(MSMQ)技术来实现分布式应用,在这篇博文继续分享下.NET平台下另一种分布式技术——.NET Remoting. 二..NET Remoting 介绍 2.1 .NET Remoting简介 .NET REmoting与MSMQ不同,它不支持离线可得,另外只适合.NET平台的程序进行通信.它提供了一种允许对象通过应用程序域与另一个对象进行交互的框架..NET 应用程序都在一个主应用程序域中执行的,在一个应用程序域中的代码不能访问另一个应用程序域的数据,然而在

.net remoting 实现通用消息处理窗口

.net remoting 实现通用消息处理窗口 实现机制是制作一个cmd窗口作为信息展示窗口,主程序将需要展示的信息抛出到cmd窗口显示,以此方式做到消息的展示. 以下是cmd窗口的代码,cmd窗体作为一个消息接收的server 1 static void Main(string[] args) 2 { 3 try 4 { 5 //声明一个TCP通道指定端口8085 6 TcpChannel channel = new TcpChannel(8085); 7 //注册通道 8 ChannelS

浅谈.net remoting 与 webservice

1. .NET Remoting .NET Remoting是微软随.NET推出的一种分布式应用解决方案,被誉为管理应用程序域之间的 RPC 的首选技,它允许不同应用程序域之间进行通信(这里的通信可以是在同一个进程中进行.一个系统的不同进程间进行.不同系统的进程间进行). 更具体的说,Microsoft .NET Remoting 提供了一种允许对象通过应用程序域与另一对象进行交互的框架.也就是说,使用.NET Remoting,一个程序域可以访问另外一个程序域中的对象,就好像这个对象位于自身内