NET Framework 开发人员指南

.NET Framework 远程处理概述

.NET
远程处理使您能够轻松地构建大范围分布式应用程序,而不管应用程序组件是全部集中在一台计算机上还是分布在世界各地。您可以生成这样的客户端应用程序:它们使用同一台计算机(或可通过网络达到的其他任何计算机)上的其他进程中的对象。您还可以使用
.NET 远程处理与同一进程中的其他应用程序域进行通信。(有关应用程序域编程的详细信息,请参见对应用程序域进行编程。)

.NET
远程处理为进程间通信提供了一种抽象的方法,它将可远程处理的对象与特定客户端或服务器应用程序域以及特定的通信机制隔离开来。因此,这很灵活且很容易自定义。可以用一种通信协议替换另一种通信协议,或者用一种序列化格式替换另一种序列化格式,而不必重新编译客户端或服务器。此外,远程处理系统假定没有特别的应用程序模型。可以从
Web 应用程序、控制台应用程序、Windows
服务,即差不多可以从希望使用的任何程序中进行通信。远程处理服务器也可以是任何类型的应用程序域。任何应用程序都可以承载远程处理对象并向其计算机或网络上的任何客户端提供服务。

Note注意

出于安全原因,强烈建议您通过安全信道公开远程处理终结点。永远不要向 Internet
公开不安全的远程处理终结点。

要使用 .NET 远程处理生成让两个组件在其中跨越应用程序域边界直接通信的应用程序,只需生成以下对象:

  • 可远程处理的对象。

  • 侦听对该对象的请求的宿主应用程序域。

  • 对该对象发出请求的客户端应用程序域。

即使在复杂的多客户端或多服务器应用程序中,仍可以认为 .NET
远程处理具有这一特性。宿主和客户端应用程序也必须用远程处理基础结构来进行配置,并且您必须了解远程处理基础结构所带来的生存期和激活问题。

本节内容

生成基本的 .NET Framework 远程处理应用程序

在这一部分中我们将执行以下操作:生成可远程处理的类型,生成侦听器应用程序与配置文件,生成客户端应用程序和配置文件;通过这一系列操作来说明基本的
.NET 远程处理方案。

.NET Framework 远程处理结构

描述 .NET 远程处理系统的结构。

使对象可远程处理

描述远程处理边界并说明如何实现可以跨越这些边界激活的类型。

对象激活和生存期

描述不同类型的远程激活以及如何管理远程对象生存期。

信道

描述系统定义的信道并提供在确定哪个信道最适合您的方案时需要了解的信息。

远程应用程序的配置

描述 .NET 远程处理基础结构的基本配置要求,可用来满足这些要求的配置类型,以及不同服务器和客户端应用程序域的特定需要。

远程处理中的版本信息

描述版本控制在远程方案中的工作方式。

远程处理中的安全性

描述对使用远程处理的安全性要求以及帮助生成安全的远程处理应用程序的基本方法。

异步远程处理

描述如何在远程处理方案中进行异步编程。

如何:异步调用远程对象的方法

显示如何异步调用远程对象的方法。

与异步调用远程对象的方法有关的问题

描述在异步调用远程对象的方法时可能产生的问题。

CallContext 和直接远程处理

描述如何使用 CallContext 来通过远程方法调用传递额外数据以及如何动态地发布对象以供远程使用。

参考

远程处理设置架构

提供有关可用来通过配置文件配置 .NET 远程处理的元素的参考信息。

System.Runtime.Remoting

提供有关可用来执行 .NET 远程处理的类型的参考信息。

System.Runtime.Remoting.Activation

包含支持服务器和客户端远程对象激活的类和对象。

System.Runtime.Remoting.Channels

包含支持和处理信道和信道接收器的类,这些信道和信道接收器在客户端对远程对象调用方法时用作传输媒介。

System.Runtime.Remoting.Channels.Http

包含使用 HTTP 协议与远程位置之间相互传输消息和对象的信道的类。

System.Runtime.Remoting.Channels.Ipc

包含为使用 Windows 操作系统的进程间通信 (IPC) 系统的远程处理定义通信信道的类。

System.Runtime.Remoting.Channels.Tcp

包含定义使用 TCP 协议与远程位置之间相互传输消息和对象的信道的类。

System.Runtime.Remoting.Contexts

包含定义所有远程对象所驻留的上下文的对象。

System.Runtime.Remoting.Lifetime

包含管理远程对象生存期的类。

System.Runtime.Remoting.Messaging

包含用于创建和传输消息的类。

System.Runtime.Remoting.Metadata

包含可用于为对象和字段自定义 SOAP 的生成和处理的类和属性。

System.Runtime.Remoting.Metadata.W3cXsd2001

包含由万维网联合会 (W3C) 在 2001 年定义的 XML 架构定义 (XSD)。

System.Runtime.Remoting.MetadataServices

包含由 Soapsuds 工具 (Soapsuds.exe) 命令行工具和用户代码用来在元数据和远程处理基础结构的
XML 架构之间相互转换的类。

System.Runtime.Remoting.Proxies

包含控制和提供代理功能的类。

System.Runtime.Remoting.Services

包含为 .NET Framework 提供功能的服务类。

相关章节

高级远程处理

描述可用来自定义 .NET 远程处理结构的截获和扩展的基本点。

远程处理示例

提供几个完整的示例应用程序,它们使用了远程处理基础结构的不同元素。