如何:生成宿主应用程序
利用配置文件,您可以更改远程处理配置,而无须重新编译可执行文件等。有关 .NET 远程处理基础结构配置的详细信息,请参见远程处理设置架构。
实现一个使用配置文件的简单宿主应用程序域
创建远程类的配置文件。宿主应用程序必须能够找到用来加载远程类的配置的配置文件,因此,该配置文件应该与宿主应用程序保存在同一目录下,否则,将找不到该配置文件并引发异常。以下代码显示宿主应用程序域的
Listener.exe.config
配置文件。<configuration> <system.runtime.remoting> <application> <service> <wellknown mode="Singleton" type="RemotableType, RemotableType" objectUri="RemotableType.rem" /> </service> <channels> <channel ref="http" port="8989"/> </channels> </application> </system.runtime.remoting> </configuration>
导入 System.Runtime.Remoting 命名空间
Imports System.Runtime.Remoting
using System; using System.Runtime.Remoting;
加载配置远程类的配置文件。
Public Class Listener Public Shared Sub Main() RemotingConfiguration.Configure("Listener.exe.config") Console.WriteLine("Listening for requests. Press Enter to exit...") Console.ReadLine() End Sub 'Main End Class 'Listener
public class Listener{ public static void Main(){ RemotingConfiguration.Configure("Listener.exe.config"); } }
使用 .NET Framework SDK 附带的命令行工具将该类编译成宿主或侦听器可执行文件,将该类另存为
Listener
.language-extension(或使用您选择的其他文件名,其中的 language-extension 是您要编译的语言)。将该文件保存在用来保存如何:生成可远程处理的类型主题中生成的RemotableType.dll
的那一目录中。在该目录中的命令提示符处,键入以下命令:vbc /r:RemotableType.dll Listener.vb
csc /noconfig /r:RemotableType.dll Listener.cs
示例
' Listener.vb
Imports System
Imports System.Runtime.Remoting
Public Class Listener
Public Shared Sub Main()
RemotingConfiguration.Configure("Listener.exe.config")
Console.WriteLine("Listening for requests. Press Enter to exit...")
Console.ReadLine()
End Sub 'Main
End Class 'Listener
// Listener.cs
using System;
using System.Runtime.Remoting;
public class Listener{
public static void Main(){
RemotingConfiguration.Configure("Listener.exe.config");
Console.WriteLine("Listening for requests. Press Enter to exit...");
Console.ReadLine();
}
}