远程应用程序的配置

本主题介绍一项传统技术,保留该技术是为了向后兼容现有的应用程序,不建议对新的开发使用该技术。现在应该使用  Windows Communication Foundation (WCF) 来开发分布式应用程序。

.NET 远程处理基础结构需要获得某些信息才能顺利进行远程处理。配置可远程处理的类型有两种方式:可以直接在服务器和客户端代码中调用配置方法(有关详细信息,请参见编程配置);也可以创建远程处理配置节并将其包括在应用程序的配置文件、Web.config 文件或 Machine.config 文件中(有关详细信息,请参见远程对象配置)。这两种配置过程均有各自的优点和缺点,因此您可以根据自己的偏好进行选择。

您必须向远程处理系统提供下列信息,才能使您的类型变为可远程处理的类型:

  • 您的类型所需的激活类型。

  • 描述您的类型的完整元数据。

  • 为处理类型请求而注册的信道。

  • 唯一标识该类型的对象的 URL。在服务器激活中,此 URL 是指唯一标识该类型的统一资源标识符 (URI)。在客户端激活中,将分配唯一标识该实例的 URL。

客户端和服务器远程处理基础结构必须都知道此信息,才能为远程服务器对象创建代理并向其调度方法调用。客户端还可能有特殊的配置可供它们使用。如果客户端应用程序正请求客户端激活的对象,该客户端便可以请求延长与该实例关联的生存期。最后,如果客户端预期会出现某种形式的回调,该客户端本身必须主动注册信道,才能侦听该回调。(在所有其他情况下,如果系统具有兼容的客户端信道,.NET 远程处理系统会自动查找该信道。)服务器可能会为客户端激活的对象指定默认生存期,或者指定使用特定的自定义对象激活器。

如果要为 .NET Framework 远程处理服务器配置 TCP 或 HTTP 服务器信道,并且服务器计算机具有多个网络接口卡 (NIC) 或具有一个 IP 地址不断变化的 NIC(例如无线 NIC),则必须将信道配置为使用 machineName 属性,以确保 .NET Framework 远程处理能够找到服务器计算机。有关更多信息,请参见信道和格式化程序配置属性中对 machineName 属性的说明。

尝试创建实例之前,如果您提供了有关可远程处理对象的所有信息,则可以使用 new 关键字(在 Visual Basic 中为 New);否则,必须使用 Activator.GetObjectActivator.CreateInstance

b8tysty8.note(zh-cn,VS.100).gif注意:
虽然应用程序配置文件中仅有一小部分设置与 .Net 远程处理有关,但使用 .NET 远程处理出现的大多数问题都是由于其中的部分设置有误或与客户端应用程序的配置设置不匹配造成的。人们很容易键错名称、忘记某个端口或忽略某个特性。如果远程处理应用程序出现问题,请先检查配置设置。

另请参见

参考

远程处理设置架构

概念

元数据问题
激活 URL
编程配置
.NET Framework 远程处理中的自动反序列化
信道和格式化程序配置属性
在 Internet 信息服务 (IIS) 中承载远程对象
远程处理示例:在 Internet 信息服务 (IIS) 中承载

其他资源

.NET Framework 远程处理概述