Freigeben über


ProxyAttribute.CreateProxy-Methode

Erstellt eine Instanz eines Remotingproxys für ein Remoteobjekt, das durch die angegebene ObjRef beschrieben wird und auf dem Server gespeichert ist.

Namespace: System.Runtime.Remoting.Proxies
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Overridable Function CreateProxy ( _
    objRef As ObjRef, _
    serverType As Type, _
    serverObject As Object, _
    serverContext As Context _
) As RealProxy
'Usage
Dim instance As ProxyAttribute
Dim objRef As ObjRef
Dim serverType As Type
Dim serverObject As Object
Dim serverContext As Context
Dim returnValue As RealProxy

returnValue = instance.CreateProxy(objRef, serverType, serverObject, serverContext)
public virtual RealProxy CreateProxy (
    ObjRef objRef,
    Type serverType,
    Object serverObject,
    Context serverContext
)
public:
virtual RealProxy^ CreateProxy (
    ObjRef^ objRef, 
    Type^ serverType, 
    Object^ serverObject, 
    Context^ serverContext
)
public RealProxy CreateProxy (
    ObjRef objRef, 
    Type serverType, 
    Object serverObject, 
    Context serverContext
)
public function CreateProxy (
    objRef : ObjRef, 
    serverType : Type, 
    serverObject : Object, 
    serverContext : Context
) : RealProxy

Parameter

  • objRef
    Der Objektverweis auf das Remoteobjekt, für das ein Proxy erstellt werden soll.
  • serverType
    Der Servertyp, auf dem das Remoteobjekt gespeichert ist.
  • serverObject
    Das Serverobjekt.
  • serverContext
    Der Kontext, in dem sich das Serverobjekt befindet.

Rückgabewert

Die neue Instanz des Remotingproxys für das Remoteobjekt, das im angegebenen ObjRef beschrieben ist.

Hinweise

Hinweis

Die aktuelle Methode wird aufgerufen, wenn ein Proxy aus einer ObjRef-Instanz erstellt wird, die auf eine mit dem ProxyAttribute-Attribut gekennzeichnete Klasse verweist. Die Methode wird daher nur verwendet, wenn ein ObjRef in einer Rückgabe oder einem Parameter für einen Aufruf oder bei der Aktivierung eines vom Client aktivierten Objekts empfangen wird. Das ProxyAttribute wird nicht für bekannte Objekttypen verwendet.

Beispiel

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
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;
}
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;
}

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

ProxyAttribute-Klasse
ProxyAttribute-Member
System.Runtime.Remoting.Proxies-Namespace