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 セキュリティ:
- SecurityPermission (アンマネージ コードを呼び出すために必要なアクセス許可)要求値: SecurityAction.LinkDemand; アクセス許可値: SecurityPermissionFlag.UnmanagedCode
参照
RealProxy クラス | RealProxy メンバ | System.Runtime.Remoting.Proxies 名前空間