TCP リモート処理のサンプル
更新 : 2007 年 11 月
このサンプルでは、.NET Framework リモート処理アーキテクチャを使用する方法の例を示します。また、利用可能なオブジェクトおよびサーバー位置情報の指定では、バイナリ内にハードコーディングしたり、システム レジストリにデータを記録したりするのではなく、XML 構成ファイルを使用しています。
サンプルとそのインストール手順を取得するには
次のいずれかを実行します。
[ヘルプ] メニューの [サンプル] をクリックします。
サンプルの情報を示す Readme が表示されます。
Visual Studio 2008 のサンプルの Web サイトにアクセスします。ここには、サンプルの最新版が掲載されています。
Visual Studio をインストールしたコンピュータで、サンプルを検索します。既定では、サンプルおよび Readme ファイルは drive:\Program Files\Microsoft Visual Studio 9.0\Samples\lcid にインストールされています。Visual Studio の Express Edition については、すべてのサンプルがオンラインで提供されています。
詳細については、「サンプル ファイルの格納場所」を参照してください。
セキュリティに関するメモ : |
---|
このサンプル コードは概念を示すためのものであり、その概念に関連するコードのみを示しています。特定の環境について必ずしもセキュリティ要件を満たしていませんので、そのまま使用しないでください。セキュリティおよびエラー処理コードを追加して、プロジェクトをより安全かつ堅牢にすることをお勧めします。これらのサンプル コードは、現状有姿のままで提供されるものであり、一切保証されていません。 |
このサンプルを実行するには
RemoteCustomer プロジェクトをビルドします。
RemoteHost プロジェクトを開き、F5 キーを使用して、RemoteHost アプリケーションを起動します。
Visual Studio の別のインスタンスを起動し、Client プロジェクトを読み込みます。次に、コンパイル済みの RemoteCustomer アプリケーションへの参照 (RemoteCustomer.dll)) を追加します。
F5 キーを押して Client アプリケーションを起動します。
2 台の異なるコンピュータを使用してテストするには、クライアントの .config ファイルを変更する必要があり、localhost をサーバー コンピュータの IP アドレスまたは DNS 名に変更します。加えて、ポート番号を変更する場合は、サーバーのファイルにも変更が必要なことがあります。例については、クライアントとホストのそれぞれの .config ファイルのコメントを参照してください。
使用例
このサンプルにはソリューションが 3 つあり、それぞれにプロジェクトが 1 つずつ含まれています。
RemoteCustomer: サーバー
RemoteHost: ホスト
Client: クライアント
RemoteCustomer
RemoteCustomer は、作成可能な 3 つの型を公開するクラス ライブラリです。
Customer (アクティブにされたクライアント)
SingleCallCustomer (WellKnown singlecall)
SingletonCustomer (WellKnown singleton)
各クラスは同じ名前空間 RemotingSample に存在します。この名前空間は、各クラスのソース ファイルで定義されています。
RemoteHost
RemoteHost プロジェクトには、Windows フォーム アプリケーションが含まれています。このアプリケーションは、Host.exe.config という XML 構成ファイルを読み取って、RemoteCustomer プロジェクトで定義されているクラスを利用できるようにします。実稼動のアプリケーションの場合は、クラス ライブラリ (RemoteCustomer.dll) を Windows サービスでホストする手もあります。
Client
Client プロジェクトは Windows フォーム アプリケーションです。Client.exe.config という構成ファイルに基づいて、リモート オブジェクトを検索する場所を判断します。