.NET Framework 远程处理概述

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

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

备注

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

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

  • 可远程处理的对象。

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

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

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

本节内容

  • 生成基本的 .NET Framework 远程处理应用程序
    在这一部分中我们将执行以下操作:生成可远程处理的类型,生成侦听器应用程序与配置文件,生成客户端应用程序和配置文件;通过这一系列操作来说明基本的 .NET 远程处理方案。
  • 信道
    描述系统定义的信道并提供在确定哪个信道最适合您的方案时需要了解的信息。
  • 远程应用程序的配置
    描述 .NET 远程处理基础结构的基本配置要求,可用来满足这些要求的配置类型,以及不同服务器和客户端应用程序域的特定需要。
  • 远程处理中的安全性
    描述对使用远程处理的安全性要求以及帮助生成安全的远程处理应用程序的基本方法。
  • CallContext 和直接远程处理
    描述如何使用 CallContext 来通过远程方法调用传递额外数据以及如何动态地发布对象以供远程使用。

参考

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

相关章节

  • 高级远程处理
    描述可用来自定义 .NET 远程处理结构的截获和扩展的基本点。
  • 远程处理示例
    提供几个完整的示例应用程序,它们使用了远程处理基础结构的不同元素。