Silverlight をインストールするには、ここをクリックします*
Japan変更|すべてのMicrosoft のサイト|サインイン
MSDN
|MSDN ライブラリ|デベロッパー センター|ダウンロード情報|開発ツール製品|コミュニティ|ご意見・ご要望|サイトマップ
MSDN Home > ステップ 7 > .NET アプリケーションの実装 基本知識編 > リモート処理サーバーの作成 / リモート処理が可能な型の作成

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

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

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

最終更新日 2005 年 3 月 30 日

目標 リモート処理が可能な型を作成する
使用技術
  • Visual Basic .NET
取り上げるトピックス
  • リモート処理が可能な型に必要な設定
前提知識
  • クラスの生成
  • プロパティ・メソッドの作成
  • 属性の設定
目次

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

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


Step 1 :

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


Step 2 :

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

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


Step 3 :

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


Step 4 :

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

Public Class EmployeeFactory
	Inherits MarshalByRefObject
End Class

Step 5 :

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

Function GetEmployee(ByVal n As String) As Employee
	Dim emp As New Employee
	emp.Name = n
	Return emp
End Function

Step 6 :

リモートから呼び出される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なため、リモート処理のメソッドの戻り値として利用できるのです。


Step 7 :


ビルドを行います。

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


Top of Page Top of Page

Microsoft