远程对象

在运行于不同进程中的对象之间建立通信(无论是在同一台计算机上,还是在相距数千英里的计算机上)是常见的开发目标,尤其是在生成大范围分布式应用程序的时候。传统上,这不仅需要深入了解通信流两端上的对象,而且还要深入了解低级别协议的宿主、应用程序编程接口以及配置工具或文件。简言之,它是一项需要大量专业知识和经验的复杂任务。

.NET Framework 提供了几种通信方法,即使您对协议和编码并不十分了解,仍可以使用这些通信方法来快速而方便地完成上述建立通信的任务。因此,无论是需要快速开发 Web 应用程序,还是要花费更多时间生成关键的企业范围的应用程序(在此过程中涉及许多计算机或操作系统,并使用多种协议和序列化优化),.NET Framework 都会为您的方案提供支持。跨进程通信仍然是一项复杂的任务,但现在它的许多工作都可由 .NET Framework 处理。

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

本节内容

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

参考

相关章节

  • 应用程序域
    提供有关应用程序域以及它们在公共语言运行库中的使用的概述。