次の方法で共有


RealProxy.SetStubData メソッド

指定したプロキシのスタブ データを設定します。

Public Shared Sub SetStubData( _
   ByVal rp As RealProxy, _   ByVal stubData As Object _)
[C#]
public static void SetStubData(RealProxyrp,objectstubData);
[C++]
public: static void SetStubData(RealProxy* rp,Object* stubData);
[JScript]
public static function SetStubData(
   rp : RealProxy,stubData : Object);

パラメータ

  • rp
    スタブ データを設定する対象のプロキシ。
  • stubData
    新しいスタブ データ。

例外

例外の種類 条件
SecurityException 直前の呼び出し元に、UnmanagedCode アクセス許可がありません。

解説

スタブ データは、着信するメソッドの呼び出しをどのように処理するかを決定するためにカスタム プロキシ ユーザーによって使用されます。たとえば、スタブ データは、呼び出しをローカルで実行するか、リモート処理インフラストラクチャを通じて呼び出しを送信するかを決定するために使用できる、サーバーのコンテキストに関する情報の場合があります。

使用例

 
Public Overrides Function CreateProxy(objRef1 As ObjRef, serverType As Type, _
serverObject As Object, serverContext As Context) As RealProxy
         Dim myCustomProxy As New MyProxy(serverType)
         If Not (serverContext Is Nothing) Then
            RealProxy.SetStubData(myCustomProxy, serverContext)
         End If
         If Not serverType.IsMarshalByRef And serverContext Is Nothing Then
            Throw New RemotingException("Bad Type for CreateProxy")
         End If
         Return myCustomProxy
      End Function 'CreateProxy

[C#] 
public override RealProxy CreateProxy(ObjRef objRef1,
   Type serverType,
   object serverObject,
   Context serverContext)
{
   MyProxy myCustomProxy = new MyProxy(serverType);
   if(serverContext != null)
   {
      RealProxy.SetStubData(myCustomProxy,serverContext);
   }
   if((!serverType.IsMarshalByRef)&&(serverContext == null))
   {
      throw new RemotingException("Bad Type for CreateProxy");
   }
   return myCustomProxy;
}

[C++] 
public:
    RealProxy* CreateProxy(ObjRef* objRef1,
        Type* serverType,
        Object* serverObject,
        Context* serverContext) 
    {
        MyProxy* myCustomProxy = new MyProxy(serverType);
        if (serverContext != 0) 
        {
            RealProxy::SetStubData(myCustomProxy, serverContext);
        }
        if ((!serverType->IsMarshalByRef)&&(serverContext == 0)) {
            throw new RemotingException(S"Bad Type for CreateProxy");
        }
        return myCustomProxy;
    }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

.NET Framework セキュリティ:

参照

RealProxy クラス | RealProxy メンバ | System.Runtime.Remoting.Proxies 名前空間