RemotingConfiguration.RegisterWellKnownClientType Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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.