Skip to main content
評価してください: 

ステップ 7 ハンズオン : .NET Framework におけるプロセス間通信の実装と注意点

リモート処理クライアントの作成 / クライアントアプリケーションの構築


NEC eラーニング事業部
山崎 明子

最終更新日 2005 年 3 月 30 日

目標リモート処理を利用するクライアントアプリケーションを作成する
使用技術
  • Visual Basic .NET
取り上げるトピックス
  • クライアントアプリケーションで設定すべき項目
  • リモート処理を利用するコーディング
前提知識
目次


クライアントアプリケーションの構築

リモート処理のサーバー利用するクライアントアプリケーションを作成します。


Step 1 :

その 1 : リモート処理で利用できる型の作成」および「 その 2 : リモート処理が可能な型の作成」で作成したソリューションを開きます。
このソリューションに、新しいプロジェクトを追加します。手順は、 [ソリューションエクスプローラ] で、[ソリューション]を右クリックし、[追加]-[新しいプロジェクト]メニューをクリックすると、以下の [新しいプロジェクトの追加] ダイアログボックスが表示されます。

[新しいプロジェクトの追加] ダイアログボックス

[Visual Basicプロジェクト] [Windowsアプリケーション]を選択し、[プロジェクト名]、[場所]に任意の名称を指定したら [OK] ボタンをクリックします。
この画面では、"Step7.RemotingClient" という名称を指定しています。この先のステップではこの名称が指定されていたことを前提で進めていきます。


Step 2 :

このプロジェクトに、構成 (Config) ファイルを追加します。手順は、[ソリューションエクスプローラ] で、プロジェクト名、Step7.RemotingClient を右クリックし、[追加]-[新しい項目の追加]メニューをクリックすると、以下の [新しい項目の追加] ダイアログボックスが表示されます。

[新しい項目の追加] ダイアログボックス

[テンプレート]で、[アプリケーション構成ファイル]を選択し、[開く]ボタンをクリックします。
生成された App.Config ファイルを編集します。 (赤色が追加した部分です。)

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
 <system.runtime.remoting>
  <application>
   <client url="tcp://localhost:8080">
    <wellknown url="tcp://localhost:8080/Step7Remoting" 
     type="Step7.MyRemoting.EmployeeFactory, Step7.MyRemoting" />
   </client>
   <channnels />
  </application>
 </system.runtime.remoting>
</configuration>

ここでは、TCPチャネルを利用して通信するという設定になっています。 セクションで指定されている "Step7Remoting" は、クライアント側の構成の際に、objectUriとして設定した名前であることを思い出してください。


Step 3 :

フォームがロードされた時に、今作成した構成ファイルを読み込みます。 (赤色が追加部分です。)

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
System.Runtime.Remoting.RemotingConfiguration.Configure("Step7.RemotingClient.exe.config")
End Sub

 

Step 4 :

フォームにテキストボックスを1つ、リストボックスを1つ、ボタンを2つ貼り付けます。さらに、以下の図を参考に、プロパティを変更します。

プロパティを変更


Step 5 :

参照設定を追加します。手順は、[ソリューションエクスプローラ] で、プロジェクト名、Step7.HostApplication を右クリックし、[参照の追加]メニューをクリックすると、[参照の追加] ダイアログボックスが表示されます。

プロジェクトタブをクリックし、[Step7.MyRemoting]を選択し、[選択]ボタンをクリックし、次に[OK]ボタンをクリックします。


Step 6 :

ボタンをクリックした時のコードをそれぞれ追加します。 (赤色は追加した部分です。)

Private Sub Button1_Click
 (ByVal sender As System.Object, ByVal e As System.EventArgs) 
 Handles Button1.Click
  Dim ef As New Step7.MyRemoting.EmployeeFactory
  TextBox1.Text = ef.GetEmployee("fumiko").Name
End Sub
Private Sub Button2_Click
 (ByVal sender As System.Object, ByVal e As System.EventArgs) 
 Handles Button1.Click
   Dim ef As New Step7.MyRemoting.EmployeeFactory
   Dim emps As ArrayList = ef.GetEmployees()
   Dim emp As Step7.MyRemoting.Employee
    ListBox1.Items.Clear()
   For Each emp In emps
    ListBox1.Items.Add(emp.Name)
   Next
End Sub

 

Step 7 :


ビルドし、動作確認をします。まず、Step7.HostApplication をデバッグ実行し、次に Step7.RemotingClient をデバッグします。手順は、[ソリューションエクスプローラ]で、[Step7.HostApplication]を右クリックし、[デバッグ]-[新しいインスタンスを開始する]をクリックします。次に、[ソリューションエクスプローラ]で、[Step7.RemotingClien]を右クリックし、[デバッグ]-[新しいインスタンスを開始する]をクリックします。
ボタンをそれぞれクリックし、結果を確認します。それぞれ、名前、および名前のリストが取得できていることを確認してください。

結果を確認

これで、リモート処理をクライアントから呼び出すことができたことを確認できました。

 

次は 『オブジェクトをアクティブにする方法の設定の変更』について説明します。


ページのトップへ