.NET Framework 远程处理概述
本主题介绍一项传统技术,保留该技术是为了向后兼容现有的应用程序,不建议对新的开发使用该技术。现在应该使用 Windows Communication Foundation (WCF) 来开发分布式应用程序。
利用 .NET 远程处理,可以方便地生成广泛分布的应用程序,而不论应用程序组件是全部集中在一台计算机上,还是分布在世界各地。生成的客户端应用程序可以使用同一台计算机(或可通过其网络连接到的任何其他计算机)上其他进程中的对象。您还可以在同一进程中使用 .NET 远程处理与其他应用程序域进行通信。(有关对应用程序域进行编程的详细信息,请参见Programming with Application Domains。)
.NET 远程处理为进程间通信提供了一种抽象方法,它能够将可远程处理的对象从特定的客户端或服务器应用程序域以及特定的通信机制中分离出来。因此,它可以灵活、轻松地进行自定义。您可以用一种通信协议来替换另一种通信协议,或用一种序列化格式来替换另一种序列化格式,而不用重新编译客户端或服务器。此外,远程处理系统假定没有特殊的应用程序模型。您可以从 Web 应用程序、控制台应用程序、Windows 服务等您要使用的几乎任何应用程序进行通信。远程处理服务器还可以是任意类型的应用程序域。任何应用程序都可以承载远程处理对象,进而为其计算机或网络上的任何客户端提供服务。
注意: |
---|
出于安全考虑,强烈建议您通过安全信道公开远程处理终结点。切勿向 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.exe 命令行工具和用户代码用来在元数据和远程处理基础结构的 XML 架构之间相互转换的类。
- System.Runtime.Remoting.Proxies
包含控制和提供代理功能的类。
- System.Runtime.Remoting.Services
包含为 .NET Framework 提供功能的服务类。
相关章节
- 高级远程处理
介绍可用于自定义 .NET 远程处理体系结构的基本截获和扩展点。
- 远程处理示例
提供几个完整的示例应用程序,这些应用程序分别使用了远程处理基础结构的不同元素。
生成日期:2010-02-13