Share via


RemotingConfiguration.RegisterWellKnownClientType Método

Definición

Registra un Type de objeto registrado en el cliente como objeto de tipo conocido (llamada única o singleton).

Sobrecargas

RegisterWellKnownClientType(WellKnownClientTypeEntry)

Registra un Type de objeto registrado en el WellKnownClientTypeEntry proporcionado en el cliente como un tipo conocido que se puede activar en el servidor.

RegisterWellKnownClientType(Type, String)

Registra en el cliente un Type de objeto como un tipo conocido que se puede activar en el servidor, mediante parámetros especificados para inicializar una nueva instancia de la clase WellKnownClientTypeEntry.

RegisterWellKnownClientType(WellKnownClientTypeEntry)

Registra un Type de objeto registrado en el WellKnownClientTypeEntry proporcionado en el cliente como un tipo conocido que se puede activar en el servidor.

public:
 static void RegisterWellKnownClientType(System::Runtime::Remoting::WellKnownClientTypeEntry ^ entry);
public static void RegisterWellKnownClientType (System.Runtime.Remoting.WellKnownClientTypeEntry entry);
static member RegisterWellKnownClientType : System.Runtime.Remoting.WellKnownClientTypeEntry -> unit
Public Shared Sub RegisterWellKnownClientType (entry As WellKnownClientTypeEntry)

Parámetros

entry
WellKnownClientTypeEntry

Valores de configuración del tipo conocido.

Excepciones

Al menos uno de los llamadores situados en la parte superior de la pila de llamadas no tiene permiso para configurar los tipos y canales de comunicación remota.

Comentarios

Cualquier cliente que conozca el URI de un objeto conocido registrado puede obtener un proxy para el objeto registrando el canal que prefiere con ChannelServicesy activando el objeto llamando a new o Activator.GetObject. Para activar un objeto conocido con new, primero debe registrar el tipo de objeto conocido en el cliente mediante el RegisterWellKnownClientType método . Llamar al método proporciona a la RegisterWellKnownClientType infraestructura de comunicación remota la ubicación del objeto remoto, lo que permite que la new palabra clave la cree. Por otro lado, si usa el Activator.GetObject método para activar el objeto conocido, debe proporcionarlo con la dirección URL del objeto como argumento, por lo que no es necesario registrar previamente en el extremo del cliente.

Para obtener una descripción detallada de los objetos conocidos, consulte Activación del servidor.

Consulte también

Se aplica a

RegisterWellKnownClientType(Type, String)

Registra en el cliente un Type de objeto como un tipo conocido que se puede activar en el servidor, mediante parámetros especificados para inicializar una nueva instancia de la clase WellKnownClientTypeEntry.

public:
 static void RegisterWellKnownClientType(Type ^ type, System::String ^ objectUrl);
public static void RegisterWellKnownClientType (Type type, string objectUrl);
static member RegisterWellKnownClientType : Type * string -> unit
Public Shared Sub RegisterWellKnownClientType (type As Type, objectUrl As String)

Parámetros

type
Type

Type de objeto.

objectUrl
String

Dirección URL de un objeto de cliente conocido.

Excepciones

Al menos uno de los llamadores situados en la parte superior de la pila de llamadas no tiene permiso para configurar los tipos y canales de comunicación remota.

Ejemplos

En el ejemplo de código siguiente se muestra el registro de un tipo de objeto en el extremo del cliente como un tipo conocido. Para el código de servidor que corresponde al código de cliente presentado, vea el ejemplo del RegisterWellKnownServiceType método .

#using <system.dll>
#using <system.runtime.remoting.dll>
#using "service.dll"

using namespace System;
using namespace System::Runtime::Remoting;
using namespace System::Runtime::Remoting::Channels::Tcp;
using namespace System::Runtime::Remoting::Channels;
int main()
{
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels.Tcp;
using System.Runtime.Remoting.Channels;

public class ClientClass {

    public static void Main() {
Imports System.Runtime.Remoting
Imports System.Runtime.Remoting.Channels.Tcp
Imports System.Runtime.Remoting.Channels


Public Class ClientClass
   
   
   Public Shared Sub Main()
ChannelServices::RegisterChannel( gcnew TcpChannel );
RemotingConfiguration::RegisterWellKnownClientType( HelloService::typeid,
                                                    "tcp://localhost:8082/HelloServiceApplication/MyUri" );
HelloService ^ service = gcnew HelloService;
ChannelServices.RegisterChannel(new TcpChannel());

RemotingConfiguration.RegisterWellKnownClientType(
                                                   typeof(HelloService),
                                                   "tcp://localhost:8082/HelloServiceApplication/MyUri"
                                                 );

HelloService service = new HelloService();
ChannelServices.RegisterChannel(New TcpChannel())

RemotingConfiguration.RegisterWellKnownClientType(GetType(HelloService), "tcp://localhost:8082/HelloServiceApplication/MyUri")

Dim service As New HelloService()
   if ( service == nullptr )
   {
      Console::WriteLine( "Could not locate server." );
      return  -1;
   }

   // Calls the remote method.
   Console::WriteLine();
   Console::WriteLine( "Calling remote Object*" );
   Console::WriteLine( service->HelloMethod( "Caveman" ) );
   Console::WriteLine( service->HelloMethod( "Spaceman" ) );
   Console::WriteLine( service->HelloMethod( "Client Man" ) );
   Console::WriteLine( "Finished remote Object* call" );
   Console::WriteLine();
   return 0;
}

        if(service == null) {
            Console.WriteLine("Could not locate server.");
            return;
        }

        // Calls the remote method.
        Console.WriteLine();
        Console.WriteLine("Calling remote object");
        Console.WriteLine(service.HelloMethod("Caveman"));
        Console.WriteLine(service.HelloMethod("Spaceman"));
        Console.WriteLine(service.HelloMethod("Client Man"));
        Console.WriteLine("Finished remote object call");
        Console.WriteLine();
    }
}

      If service Is Nothing Then
         Console.WriteLine("Could not locate server.")
         Return
      End If
            
      ' Calls the remote method.
      Console.WriteLine()
      Console.WriteLine("Calling remote object")
      Console.WriteLine(service.HelloMethod("Caveman"))
      Console.WriteLine(service.HelloMethod("Spaceman"))
      Console.WriteLine(service.HelloMethod("Client Man"))
      Console.WriteLine("Finished remote object call")
      Console.WriteLine()

   End Sub

End Class

Comentarios

Cualquier cliente que conozca el URI de un objeto conocido registrado puede obtener un proxy para el objeto registrando el canal que prefiere con ChannelServicesy activando el objeto llamando a new o Activator.GetObject. Para activar un objeto conocido con new, primero debe registrar el tipo de objeto conocido en el cliente mediante el RegisterWellKnownClientType método . Llamar al método proporciona a la RegisterWellKnownClientType infraestructura de comunicación remota la ubicación del objeto remoto, lo que permite que la new palabra clave la cree. Por otro lado, si usa el Activator.GetObject método para activar el objeto conocido, debe proporcionarlo con la dirección URL del objeto como argumento, por lo que no es necesario registrar previamente en el extremo del cliente.

Para obtener una descripción detallada de los objetos conocidos, consulte Activación del servidor.

Consulte también

Se aplica a