.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/

转载请注明:博客园

目录
相关文章
|
1月前
|
开发框架 前端开发 Java
闲话 .NET(2):.NET 起名的原因、读法和演变
闲话 .NET(2):.NET 起名的原因、读法和演变
|
1月前
|
C++
VS 2019 目标框架中看不到 Net Core 3.X
VS 2019 目标框架中看不到 Net Core 3.X
17 0
|
开发框架 .NET 容器
.NET Core-依赖注入:良好架构的起点
.NET Core-依赖注入:良好架构的起点
|
开发框架 .NET 容器
.net core依赖注入:良好架构的起点
.NET Core使用依赖注入框架来管理服务的依赖与生命周期。
|
图形学 容器
MEF——.NET中值“.NET研究”得体验的精妙设计
  MEF(Managed Extensibility Framework)是.NET Framework 4.0一个重要的库,Visual Studio 2010 Code Editor的扩展支持也是基于MEF构建的。
863 0
一起谈.NET技术,浅析.NET开发过程中命名的数量和人称
  我们都明白命名的重要性,如果对命名不断地关注,就需要考虑命名中的动词和名词,特别的情况是动词的人称和名词的数量。   在.NET Framework的Guideline中,有专门一章讨论了命名规范,包括大小写、单词的选择等,却没有涉及到人称和数量,下面来讨论一下这两方面的内容。
851 0
|
.NET 数据库
走向ASP.NET架构设“.NET研究”计——第六章:服务层设计(前篇)
  本篇主要是为后文做铺垫,所以理论的东西相对而言比较的多一点!   服务层的概述   首先解释一下什么是上海企业网站制作”服务Service”,从广义来讲:只要是你使用了别人的东西,那么你就在使用别人提供的服务。
987 0
|
C# 开发者
C# 枚举在项目中的应用“.NET研究”总结
本文主要是我在实际项目中对C#枚举的应用总结,如果存在不足的地方欢迎您指出。      一、枚举基本运用      1、枚举其实可以理解为一个恒量的结合,又或者可以认为它是一种类型。比如以下枚举定义:   public enum MicrosoftTechnology { CSharp, ASPNETMVC, SQLServer, WCF, SilverLight, } 此枚举默认值为int型,当然我们可以根据需要指定枚举的数据类型。
1173 0
|
.NET C# C++
简析 .NET Core 构成体系
转自:https://www.cnblogs.com/vipyoumay/p/5613373.html#%E7%AE%80%E6%9E%90-net-core-%E6%9E%84%E6%88%90%E4%BD%93%E7%B3%BB 上图描述了 .NET Core的系统构成,最上层是应用层,是开发基于UI应用的框架集,包括了ASP.NET Core(用于创建web app),和 UWP(用于创建Windows10 app)。
1345 0