RemotingConfiguration.RegisterWellKnownClientType Methode

Definitie

Registreert een object Type aan het clienteindeinde als een bekend type (één aanroep of singleton).

Overloads

Name Description
RegisterWellKnownClientType(WellKnownClientTypeEntry)

Registreert een object dat is vastgelegd in het opgegeven WellKnownClientTypeEntry clienteindpunt Type als een bekend type dat op de server kan worden geactiveerd.

RegisterWellKnownClientType(Type, String)

Registreert een object Type aan het clienteindpunt als een bekend type dat kan worden geactiveerd op de server, met behulp van de opgegeven parameters om een nieuw exemplaar van de WellKnownClientTypeEntry klasse te initialiseren.

RegisterWellKnownClientType(WellKnownClientTypeEntry)

Registreert een object dat is vastgelegd in het opgegeven WellKnownClientTypeEntry clienteindpunt Type als een bekend type dat op de server kan worden geactiveerd.

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)

Parameters

entry
WellKnownClientTypeEntry

Configuratie-instellingen voor het bekende type.

Uitzonderingen

Ten minste één van de bellers hoger in de callstack is niet gemachtigd om externe typen en kanalen te configureren.

Opmerkingen

Elke client die de URI van een geregistreerd bekend object kent, kan een proxy voor het object verkrijgen door het kanaal te registreren waarmee ChannelServiceshet object de voorkeur geeft en het object te activeren door aan te roepen new of Activator.GetObject. Als u een bekend object wilt activeren, newmoet u eerst het bekende objecttype op de client registreren met behulp van de RegisterWellKnownClientType methode. Het aanroepen van de RegisterWellKnownClientType methode geeft de externe infrastructuur de locatie van het externe object, waardoor het new trefwoord het kan maken. Als u daarentegen de Activator.GetObject methode gebruikt om het bekende object te activeren, moet u dit opgeven met de URL van het object als argument, zodat er geen voorafgaande registratie op het clienteindeinde nodig is.

Zie Serveractivering voor een gedetailleerde beschrijving van bekende objecten.

Zie ook

Van toepassing op

RegisterWellKnownClientType(Type, String)

Registreert een object Type aan het clienteindpunt als een bekend type dat kan worden geactiveerd op de server, met behulp van de opgegeven parameters om een nieuw exemplaar van de WellKnownClientTypeEntry klasse te initialiseren.

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)

Parameters

type
Type

Het object Type.

objectUrl
String

URL van een bekend clientobject.

Uitzonderingen

Ten minste één van de bellers hoger in de callstack is niet gemachtigd om externe typen en kanalen te configureren.

Voorbeelden

In het volgende codevoorbeeld ziet u de registratie van een objecttype aan het clienteindeinde als een bekend type. Zie het voorbeeld voor de methode voor de servercode die overeenkomt met de RegisterWellKnownServiceType gepresenteerde clientcode.

#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

Opmerkingen

Elke client die de URI van een geregistreerd bekend object kent, kan een proxy voor het object verkrijgen door het kanaal te registreren waarmee ChannelServiceshet object de voorkeur geeft en het object te activeren door aan te roepen new of Activator.GetObject. Als u een bekend object wilt activeren, newmoet u eerst het bekende objecttype op de client registreren met behulp van de RegisterWellKnownClientType methode. Het aanroepen van de RegisterWellKnownClientType methode geeft de externe infrastructuur de locatie van het externe object, waardoor het new trefwoord het kan maken. Als u daarentegen de Activator.GetObject methode gebruikt om het bekende object te activeren, moet u dit opgeven met de URL van het object als argument, zodat er geen voorafgaande registratie op het clienteindeinde nodig is.

Zie Serveractivering voor een gedetailleerde beschrijving van bekende objecten.

Zie ook

Van toepassing op