リモート処理サーバーの作成 / その 2 : リモート処理が可能な型の作成
NEC eラーニング事業部
山崎 明子
最終更新日 2005 年 3 月 30 日
| 目標 | リモート処理が可能な型を作成する |
| 使用技術 |
|
| 取り上げるトピックス |
|
| 前提知識 |
|
| 目次 |
|
ここでは、リモート処理のサーバーを作成します。前の「 その 1」で作成した「リモート処理のメソッドで利用できる型」を利用します。
.gif)
「その 1 : リモート処理で利用できる型の作成」で作成したプロジェクトを開きます。
.gif)
このプロジェクトに、クラスを追加します。手順は、[ソリューションエクスプローラ] で、プロジェクト名、Step7.MyRemoting を右クリックし、[追加]-[クラスの追加]メニューをクリックすると、以下の [新しい項目の追加] ダイアログボックスが表示されます。
.gif)
.gif)
[ファイル名]に任意の名称を指定し、 [開く] ボタンをクリックします。 この画面では、" EmployeeFactory " という名称を指定しています。この先のステップではこの名称が指定されていたことを前提で進めていきます。
.gif)
リモートから呼び出すことがでるようにするために、EmployeeFactory クラスを MarshalByRefObject から派生させます。 (赤色が追加した部分です。)
Public Class EmployeeFactory
Inherits MarshalByRefObject
End Class.gif)
リモートから呼び出されるメソッドを実装します。 まずは、GetEmployee メソッドを実装します。その名の通り、このメソッドを実行すると、Employee のオブジェクトを1つ取得できます。一 般的には、このような場合、データベースなどからデータを取得することが多いですが、ここでは動的にインスタンスを作成し、それをメソッドの戻り値として 返すことにします。
Function GetEmployee(ByVal n As String) As Employee
Dim emp As New Employee
emp.Name = n
Return emp
End Function.gif)
リモートから呼び出される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 なため、リモート処理のメソッドの戻り値として利用できるのです。
.gif)
ビルドを行います。
| 次は 『 ホストアプリケーションの構築』について説明します。 |