Partager via


RemotingConfiguration.RegisterWellKnownClientType Méthode

Définition

Inscrit un Type d'objet sur le client comme type connu (appel unique ou singleton).

Surcharges

RegisterWellKnownClientType(WellKnownClientTypeEntry)

Inscrit un Type d'objet enregistré dans le WellKnownClientTypeEntry fourni sur le client comme type connu qui peut être activé sur le serveur.

RegisterWellKnownClientType(Type, String)

Inscrit un Type d'objet sur le client comme type connu qui peut être activé sur le serveur, en utilisant les paramètres spécifiés pour initialiser une nouvelle instance de la classe WellKnownClientTypeEntry.

RegisterWellKnownClientType(WellKnownClientTypeEntry)

Inscrit un Type d'objet enregistré dans le WellKnownClientTypeEntry fourni sur le client comme type connu qui peut être activé sur le serveur.

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)

Paramètres

entry
WellKnownClientTypeEntry

Paramètres de configuration pour le type connu.

Exceptions

Au moins un des appelants à un niveau plus élevé dans la pile des appels n'a pas l'autorisation de configuration des types et des canaux de communication à distance.

Remarques

Tout client qui connaît l’URI d’un objet bien connu inscrit peut obtenir un proxy pour l’objet en inscrivant le canal qu’il préfère avec ChannelServiceset en activant l’objet en appelant new ou Activator.GetObject. Pour activer un objet connu avec new, vous devez d’abord inscrire le type d’objet connu sur le client à l’aide de la RegisterWellKnownClientType méthode . L’appel de la RegisterWellKnownClientType méthode donne à l’infrastructure de communication à distance l’emplacement de l’objet distant, ce qui permet au mot clé de le new créer. Si, en revanche, vous utilisez la Activator.GetObject méthode pour activer l’objet connu, vous devez le fournir avec l’URL de l’objet en tant qu’argument, de sorte qu’aucune inscription préalable du côté client n’est nécessaire.

Pour obtenir une description détaillée des objets connus, consultez Activation du serveur.

Voir aussi

S’applique à

RegisterWellKnownClientType(Type, String)

Inscrit un Type d'objet sur le client comme type connu qui peut être activé sur le serveur, en utilisant les paramètres spécifiés pour initialiser une nouvelle instance de la classe 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)

Paramètres

type
Type

Type d'objet.

objectUrl
String

URL d'un objet de client connu.

Exceptions

Au moins un des appelants à un niveau plus élevé dans la pile des appels n'a pas l'autorisation de configuration des types et des canaux de communication à distance.

Exemples

L’exemple de code suivant illustre l’inscription d’un type d’objet à l’extrémité du client en tant que type connu. Pour le code serveur qui correspond au code client présenté, consultez l’exemple de la RegisterWellKnownServiceType méthode .

#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

Remarques

Tout client qui connaît l’URI d’un objet bien connu inscrit peut obtenir un proxy pour l’objet en inscrivant le canal qu’il préfère avec ChannelServiceset en activant l’objet en appelant new ou Activator.GetObject. Pour activer un objet connu avec new, vous devez d’abord inscrire le type d’objet connu sur le client à l’aide de la RegisterWellKnownClientType méthode . L’appel de la RegisterWellKnownClientType méthode donne à l’infrastructure de communication à distance l’emplacement de l’objet distant, ce qui permet au mot clé de le new créer. Si, en revanche, vous utilisez la Activator.GetObject méthode pour activer l’objet connu, vous devez le fournir avec l’URL de l’objet en tant qu’argument, de sorte qu’aucune inscription préalable du côté client n’est nécessaire.

Pour obtenir une description détaillée des objets connus, consultez Activation du serveur.

Voir aussi

S’applique à