次の方法で共有


方法 : ホスト アプリケーションを構築する

構成ファイルを使用すると、実行可能ファイルを再コンパイルせずにリモート処理の構成を変更できます。.NET リモート処理インフラストラクチャの構成の詳細については、「リモート処理設定スキーマ」を参照してください。

構成ファイルを使用する単純なホスト アプリケーション ドメインを実装するには

  1. リモート クラスの構成ファイルを作成します。ホスト アプリケーションは、リモート クラスの構成を読み込むために構成ファイルを見つけることができなければなりません。そのため、構成ファイルは、ホスト アプリケーションと同じディレクトリに保存する必要があります。そうしないと、構成ファイルが見つからず、例外がスローされます。ホスト アプリケーション ドメイン用の 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>
    
  2. System.Runtime.Remoting 名前空間をインポートします。

    Imports System.Runtime.Remoting
    
    using System;
    using System.Runtime.Remoting;
    
  3. リモート クラスを構成する構成ファイルを読み込みます。

    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");
       }
    }
    
  4. .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();
   }
}

参照

処理手順

方法 : ホスト アプリケーションを構築する

関連項目

リモート処理設定スキーマ

概念

リモート アプリケーションの構成
サーバー アクティベーション

その他の技術情報

基本的な .NET Framework リモート処理アプリケーションの構築