ObjRef を取り、これからプロキシ オブジェクトを作成し、サーバーにある型に対してこのプロキシ オブジェクトを詳細に指定します。
Overloads Public Shared Function Unmarshal( _
ByVal objectRef As ObjRef, _ ByVal fRefine As Boolean _) As Object
[C#]
public static object Unmarshal(ObjRefobjectRef,boolfRefine);
[C++]
public: static Object* Unmarshal(ObjRef* objectRef,boolfRefine);
[JScript]
public static function Unmarshal(
objectRef : ObjRef,fRefine : Boolean) : Object;
パラメータ
- objectRef
プロキシが作成される対象のリモート オブジェクトを表す ObjRef 。 - fRefine
サーバーにある型に対してプロキシを詳細に指定する場合は true 。それ以外の場合は false 。
戻り値
特定の ObjRef が表すオブジェクトへのプロキシ。
例外
例外の種類 | 条件 |
---|---|
ArgumentException | objectRef パラメータで指定した ObjRef インスタンスが適切に構成されていません。 |
SecurityException | コールスタックの上位にある 1 つ以上の呼び出し元に、リモート処理の型とチャネルを構成するためのアクセス許可がありません。 |
解説
ObjRef は、アプリケーション ドメイン境界にわたってオブジェクト参照を転送するために使用するオブジェクトのシリアル化可能な表現です。オブジェクトの ObjRef を作成することをマーシャリングと言います。 ObjRef は、チャネルを経由して、別のプロセスやコンピュータ上にある場合もある別のアプリケーション ドメインに転送できます。他のアプリケーション ドメインに転送されたら、その ObjRef を解析して、通常は実際のオブジェクトに接続される、そのオブジェクトのプロキシを作成する必要があります。この操作をマーシャリング解除と言います。マーシャリング解除時には、 ObjRef を解析してリモート オブジェクトのメソッド情報が抽出され、透過プロキシ オブジェクトと RealProxy オブジェクトの両方が作成されます。解析された ObjRef の内容が透過プロキシに追加されてから、この透過プロキシが共通言語ランタイムで登録されます。
ObjRef は、マーシャリング対象のオブジェクトの Type とクラスを説明する情報、特定のオブジェクト インスタンスを一意に識別する URI、およびそのオブジェクトが配置されているリモート処理サブ区分に到達する方法についての通信関連情報を格納します。
最初に作成された時点では、プロキシは MarshalByRefObject 型です。ユーザーはこれを異なる型にキャストするため、リモート処理インフラストラクチャで最も頻繁に使用する型を追跡して、不要な型を読み込まないようにします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
.NET Framework セキュリティ:
- SecurityPermission (リモート処理インフラストラクチャを構成するために必要なアクセス許可)要求値: SecurityAction.Demand; アクセス許可値: SecurityPermissionFlag.RemotingConfiguration
参照
RemotingServices クラス | RemotingServices メンバ | System.Runtime.Remoting 名前空間 | RemotingServices.Unmarshal オーバーロードの一覧 | RealProxy | ObjRef