.net Remoting(1)——起点,从示例做起

简介: .net remoting用于应用程序之间通信。 先做一简单的示例: 准备三个项目。 (一)远程对象 新建立类库项目:SelfRemote public class selfRemoteObject : MarshalByRefObject { public int Plus(int a, int b) { Console.

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

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

博客园大道至简

http://www.cnblogs.com/jams742003/

转载请注明:博客园

目录
相关文章
|
7月前
|
开发框架 .NET 容器
.NET Core-依赖注入:良好架构的起点
.NET Core-依赖注入:良好架构的起点
|
7月前
|
开发框架 .NET 容器
.net core依赖注入:良好架构的起点
.NET Core使用依赖注入框架来管理服务的依赖与生命周期。
|
消息中间件 NoSQL 关系型数据库
.NET 入门到高级路线
.NET 入门到高级路线
165 0
|
图形学 容器
MEF——.NET中值“.NET研究”得体验的精妙设计
  MEF(Managed Extensibility Framework)是.NET Framework 4.0一个重要的库,Visual Studio 2010 Code Editor的扩展支持也是基于MEF构建的。
848 0
|
数据安全/隐私保护
艾伟:让.NET程序脱离.NET Framework框架运行
  Net 框架目前逐步在普及了,仍然有很多人在寻找如何让.Net程序脱离.NET框架的方法。   现成的工具有 Xenocode 的postbuidle或者vas,还有 Salamander .NET Linker 。
750 0
浅析.“.NET研究”NET开发过程中命名的数量和人称
  我们都明白命名的重上海闵行企业网站制作lor:white;' href='http://www.93tj.com'>上海企业网站制作要性,如果对命名不断地关注,就需要考虑命名中的动词和名词,特别的情况是动词的人称和名词的数量。
744 0
|
Web App开发 JavaScript 前端开发
一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《起始项目模板》篇
本系列文章导航 VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇 VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇 VS 2010 和 .
1104 0
一起谈.NET技术,浅析.NET开发过程中命名的数量和人称
  我们都明白命名的重要性,如果对命名不断地关注,就需要考虑命名中的动词和名词,特别的情况是动词的人称和名词的数量。   在.NET Framework的Guideline中,有专门一章讨论了命名规范,包括大小写、单词的选择等,却没有涉及到人称和数量,下面来讨论一下这两方面的内容。
832 0
|
图形学 容器
一起谈.NET技术,MEF——.NET中值得体验的精妙设计
  MEF(Managed Extensibility Framework)是.NET Framework 4.0一个重要的库,Visual Studio 2010 Code Editor的扩展支持也是基于MEF构建的。
1105 0
|
容器
.NET简谈观察者“.NET研究”模式
  观察者模式想必搞程序开发的都听说过,今天我也来简单的总结一下本人在程序开发过程中是怎么使用观察者模式的;希望给大家带来点新的想法,如果哪位高手看到了也不要嘲笑啊;呵呵,追求技术的人,始终都是为了技术而学技术,目的只有一个,一起追求技术的最高境界。
847 0