ProxyAttribute.CreateProxy(ObjRef, Type, Object, Context) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した ObjRefによって記述され、サーバー上にあるリモート オブジェクトのリモート処理プロキシのインスタンスを作成します。
public:
virtual System::Runtime::Remoting::Proxies::RealProxy ^ CreateProxy(System::Runtime::Remoting::ObjRef ^ objRef, Type ^ serverType, System::Object ^ serverObject, System::Runtime::Remoting::Contexts::Context ^ serverContext);
public virtual System.Runtime.Remoting.Proxies.RealProxy CreateProxy(System.Runtime.Remoting.ObjRef objRef, Type serverType, object serverObject, System.Runtime.Remoting.Contexts.Context serverContext);
[System.Security.SecurityCritical]
public virtual System.Runtime.Remoting.Proxies.RealProxy CreateProxy(System.Runtime.Remoting.ObjRef objRef, Type serverType, object serverObject, System.Runtime.Remoting.Contexts.Context serverContext);
abstract member CreateProxy : System.Runtime.Remoting.ObjRef * Type * obj * System.Runtime.Remoting.Contexts.Context -> System.Runtime.Remoting.Proxies.RealProxy
override this.CreateProxy : System.Runtime.Remoting.ObjRef * Type * obj * System.Runtime.Remoting.Contexts.Context -> System.Runtime.Remoting.Proxies.RealProxy
[<System.Security.SecurityCritical>]
abstract member CreateProxy : System.Runtime.Remoting.ObjRef * Type * obj * System.Runtime.Remoting.Contexts.Context -> System.Runtime.Remoting.Proxies.RealProxy
override this.CreateProxy : System.Runtime.Remoting.ObjRef * Type * obj * System.Runtime.Remoting.Contexts.Context -> System.Runtime.Remoting.Proxies.RealProxy
Public Overridable Function CreateProxy (objRef As ObjRef, serverType As Type, serverObject As Object, serverContext As Context) As RealProxy
パラメーター
- objRef
- ObjRef
プロキシを作成するリモート オブジェクトへのオブジェクト参照。
- serverType
- Type
リモート オブジェクトが配置されているサーバーの種類。
- serverObject
- Object
サーバー オブジェクト。
- serverContext
- Context
サーバー オブジェクトが配置されているコンテキスト。
返品
指定した ObjRefで説明されているリモート オブジェクトのリモート処理プロキシの新しいインスタンス。
- 属性
例
virtual RealProxy^ CreateProxy( ObjRef^ objRef1, Type^ serverType, Object^ serverObject, Context^ serverContext ) override
{
MyProxy^ myCustomProxy = gcnew MyProxy( serverType );
if ( serverContext != nullptr )
{
RealProxy::SetStubData( myCustomProxy, serverContext );
}
if ( ( !serverType->IsMarshalByRef) && (serverContext == nullptr) )
{
throw gcnew RemotingException( "Bad Type for CreateProxy" );
}
return myCustomProxy;
}
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;
}
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
注釈
Note
現在のメソッドは、ProxyAttribute属性でマークされたクラスを参照するObjRef インスタンスからプロキシが作成されるときに呼び出されます。 そのため、メソッドは、呼び出しの戻り値またはパラメーターから ObjRef を受信した場合、またはクライアントによってアクティブ化されたオブジェクトのアクティブ化中にのみ使用されます。 ProxyAttributeは、既知のオブジェクト型には使用されません。