激活 URL
在应用程序域之外的 URL 发布的服务器激活对象称作已知类型。因此,该 URL 称为已知对象 URL。已知对象 URL 的格式如下:
ProtocolScheme :// ComputerName : Port / PossibleApplicationName / ObjectUri
不过必须指出的是,如果在 Internet 信息服务 (IIS) 中承载远程对象,则无法声明应用程序名称。在这种情况下,应用程序的虚拟目录将自动成为应用程序名称。另外,还可能需要进行其他的细微更改。
由于 .NET 远程处理系统为您生成了对每个实例唯一的 URL,因此客户端激活的对象不需要对每个对象都有唯一的 URL。因此,用于激活客户端激活的对象的 URL 称为客户端激活 URL。客户端激活 URL 的格式如下:
ProtocolScheme :// ComputerName : Port / PossibleApplicationName
如果您使用 TcpChannel 对象,端口号就是必需的。
通过 IIS 之外的宿主应用程序域,您可以通过编程方式配置可远程处理的类型,或者可以使用配置文件。要执行后一项操作,必须通过调用 RemotingConfiguration.Configure 并传递配置文件的名称来加载该文件中的值。(当您在 Internet 信息服务 (IIS) 中承载可远程处理的类型时,将检测到 <service> 元素。)尽管可以为远程处理配置文件使用任何文件名,但应用程序安全设置仅在包含于具有以下格式名称的文件中时才能得以强制实施:
<ApplicationName>.<FileExtension>.config
建议您在大多数情况下使用这种文件名格式。例如,如果宿主可执行文件为 MyServer.exe,则配置文件的正确名称为 MyServer.exe.config。
无论您选择什么样的文件名,都可以将多个配置文件传递到 Configure。通常,最好在单独的文件中指定信道、格式化程序以及自定义信道的提供程序,然后在连续的调用中将所有这些对象注册到 Configure。这样,您就可以复制仅处理信道、提供程序或任何其他自定义功能的配置文件。如果在 Channels.config
文件中指定了自定义信道模板,在 Providers.config
文件中指定了自定义提供程序,则可以使用以下代码示例中所示的调用来配置远程处理客户端。
RemotingConfiguration.Configure("Providers.config")
RemotingConfiguration.Configure("Channels.config")
RemotingConfiguration.Configure("RemoteClient.exe.config")
RemotingConfiguration.Configure("Providers.config");
RemotingConfiguration.Configure("Channels.config");
RemotingConfiguration.Configure("RemoteClient.exe.config");