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

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

リモート処理サーバーの作成 / その 2 : リモート処理が可能な型の作成


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

最終更新日 2005 年 3 月 30 日

目標リモート処理が可能な型を作成する
使用技術
  • Visual Basic .NET
取り上げるトピックス
  • リモート処理が可能な型に必要な設定
前提知識
目次


リモート処理が可能な型の作成

ここでは、リモート処理のサーバーを作成します。前の「 その 1」で作成した「リモート処理のメソッドで利用できる型」を利用します。

その 1 : リモート処理で利用できる型の作成」で作成したプロジェクトを開きます。

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

[ファイル名]に任意の名称を指定し、 [開く] ボタンをクリックします。 この画面では、" EmployeeFactory " という名称を指定しています。この先のステップではこの名称が指定されていたことを前提で進めていきます。

リモートから呼び出すことがでるようにするために、EmployeeFactory クラスを MarshalByRefObject から派生させます。 (赤色が追加した部分です。)

Public Class EmployeeFactory

      Inherits MarshalByRefObject

End Class

リモートから呼び出されるメソッドを実装します。 まずは、GetEmployee メソッドを実装します。その名の通り、このメソッドを実行すると、Employee のオブジェクトを1つ取得できます。一 般的には、このような場合、データベースなどからデータを取得することが多いですが、ここでは動的にインスタンスを作成し、それをメソッドの戻り値として 返すことにします。

Function GetEmployee(ByVal n As String) As Employee

	Dim emp As New Employee

	emp.Name = n

	Return emp

End Function

リモートから呼び出される2つ目のメソッド、GetEmployees メソッドを実装します。 その名の通り、このメソッドを実行すると、すべての Employee オブジェクトを取得します。一般的には、このような場合も、データベースなどからデー タを取得することが多いですが、ここでは先程と同様、いくつかのインスタンスを動的に作成し、それを ArrayList に格納し、戻り値として返すことに します。

Function GetEmployees() As ArrayList

  Dim al As New ArrayList

  Dim emp As Employee

  Dim i As Integer    

  Dim nameSample() As String = {"Akiko", "Kaoru", "Yuri", "Chihiro", "Mikiko"}

  For i = 0 To 4

    emp = New Employee

    emp.Name = nameSample(i)

    emp.Salary = i * 100000

    al.Add(emp)

  Next

  Return al

End Function

ワンポイント:ArrayList クラスは元々 Searializable なため、リモート処理のメソッドの戻り値として利用できるのです。

ビルドを行います。

次は 『 ホストアプリケーションの構築』について説明します。


 

 

ページのトップへ