方法 : ホスト アプリケーションを構築する
構成ファイルを使用すると、実行可能ファイルを再コンパイルせずにリモート処理の構成を変更できます。.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 という名前で、またはコンパイルする言語の言語拡張子を付けた別の名前で保存します。ファイルは、「方法 : リモート処理が可能な型を構築する 」で構築した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();
}
}
参照
処理手順
関連項目
概念
リモート アプリケーションの構成
サーバー アクティベーション