All articles(网络文学目录) All Pictures(图片目录) All Softwares(软件目录)

 
ASP.NET Remoting概述与实例

Writer: qq Article type: Programming skills(编程技巧) Time: 2014/7/9 1:36:00 Browse times: 290 Comment times: 0

ASP.NET Remoting概述与实例


Head photo

Go homepage
Upload pictures
Write articles

ASP.NET Remoting概述与实例

.NET Remoting内涵
当应用程序需要用到网络通信技术时,特别是当要调用远程服务器上的方法时,可以使用.NET Remoting来实现。以往通过网络发送数据时,不仅要处理发送的数据,还需要自己创建线程,而.NET Remoting体系则很好地封装了这些过程,可以在服务器应用程序上通过调用方法完成,而不是发送数据,这就是.NET Remoting的目标。
.NET Remoting概述
.NET远程处理能够轻松地构建大范围分布式应用程序,而不管应用程序组件是全部集中在一台计算机上还是分布在世界各地。它们使用同一台计算机(或可通过网络达到的其他任何计算机)上的其他进程中的对象,还可以使用.NET远程处理与同一进程中的其他应用程序域进行通信。
.NET远程处理为进程间通信提供了一种抽象的方法,它将可远程处理的对象与特定客户端或服务器应用程序域以及特定的通信机制隔离开来。可以用一种通信协议替换另一种通信协议,或者用一种序列化格式替换另一种序列化格式,而不必重新编译客户端或服务器。此外,远程处理系统假定没有特别的应用程序模型,可以从Web应用程序、控制台应用程序、Windows 服务,即任何程序中进行通信。远程处理服务器也可以是任何类型的应用程序域。任何应用程序都可以承载远程处理对象并向其计算机或网络上的任何客户端提供服务。
.NET Remoting的3大组成部分
.NET Remoting体系主要由3大部分构成,即远程类对象、服务端和客户端。在服务端注册远程类对象,然后在客户端调用服务器端的远程方法,就像调用本地方法一样,而实际的方法执行过程却在服务器端的远程类对象中执行。
1.远程类对象
要使其他应用程序域中的对象能够使用类的实例,则该类必须从MarshalByRefObject继承。下面过程描述如何创建一个简单的远程类对象,可以通过在其他应用程序域中执行的对象来创建和调用该对象。代码如下:
public class RemotableType : MarshalByRefObject
{
private string StringValue = "This is the RemotableType.";
public string StringMethod()
{
return StringVale;
}
}
2.服务器端
要使客户端应用程序可以调用服务器端注册的远程类,必须在服务器上注册远程类,然后创建远程类的配置文件。宿主应用程序必须能够找到用来加载远程类的配置的配置文件,因此,该配置文件应该与宿主应用程序保存在同一目录下,否则,将找不到该配置文件并引发异常。宿主应用程序域的Server.exe.config 配置文件的代码如下:




mode="Singleton"
type="RemotableType, RemotableType"
objectUri="RemotableType.rem"
/>







使用配置文件注册远程类的代码如下:
public class Listener
{
public static void Main()
{
RemotingConfiguration.Configure("Server.exe.config");
}
}
3.客户端
导入System.Runtime.Remoting命名空间,创建一个客户端配置文件,以便客户端应用程序可以找到远程对象,并将该文件保存到客户端应用程序所在的那个文件夹中。例如,以下配置文件使远程处理系统知道可以在 RemotableType 程序集中找到 RemotableType 远程对象的类型信息,而且此客户端应该尝试创建并使用位于 http://localhost:8989/RemotableType.rem 的 RemotableType 对象。代码如下:





There are 0 records,
Comment:
Must be registered users to comment(必须是注册用户才能发表评论)

Disclaimer Privacy Policy About us Site Map
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.