RemotingConfiguration.RegisterActivatedClientType Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Inscrit un Type d'objet sur le client comme type qui peut être activé sur le serveur.
Surcharges
RegisterActivatedClientType(ActivatedClientTypeEntry) |
Inscrit un Type d'objet enregistré dans le ActivatedClientTypeEntry fourni sur le client comme type qui peut être activé sur le serveur. |
RegisterActivatedClientType(Type, String) |
Inscrit un Type d'objet sur le client comme type qui peut être activé sur le serveur, en utilisant les paramètres spécifiés pour initialiser une nouvelle instance de la classe ActivatedClientTypeEntry. |
RegisterActivatedClientType(ActivatedClientTypeEntry)
Inscrit un Type d'objet enregistré dans le ActivatedClientTypeEntry fourni sur le client comme type qui peut être activé sur le serveur.
public:
static void RegisterActivatedClientType(System::Runtime::Remoting::ActivatedClientTypeEntry ^ entry);
public static void RegisterActivatedClientType (System.Runtime.Remoting.ActivatedClientTypeEntry entry);
static member RegisterActivatedClientType : System.Runtime.Remoting.ActivatedClientTypeEntry -> unit
Public Shared Sub RegisterActivatedClientType (entry As ActivatedClientTypeEntry)
Paramètres
- entry
- ActivatedClientTypeEntry
Paramètres de configuration du type activé par le client.
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
Pour créer une instance d’un objet activé par le client sur le serveur, vous devez connaître son Type et il doit être inscrit à l’extrémité du serveur à l’aide de la RegisterActivatedServiceType méthode . Pour obtenir un proxy pour une nouvelle instance de l’objet activé par le client, le client doit d’abord inscrire un canal auprès ChannelServices de , puis activer l’objet en appelant new
.
Pour activer un type d’objet activé par le client avec le new
mot clé , vous devez d’abord inscrire le type d’objet à l’extrémité du client à l’aide de la RegisterActivatedClientType méthode . L’appel de la RegisterActivatedClientType méthode donne à l’infrastructure de communication à distance l’emplacement de l’application distante où new
tente de la créer. Si, en revanche, vous utilisez la Activator.CreateInstance méthode pour créer une nouvelle instance de l’objet activé par le client, vous devez fournir l’URL de l’application distante en tant que paramètre, de sorte qu’aucune inscription préalable du côté client n’est nécessaire. Pour fournir à la Activator.CreateInstance méthode l’URL du serveur sur lequel vous souhaitez créer l’objet, vous devez encapsuler l’URL dans une instance de la UrlAttribute classe .
Pour obtenir une description détaillée des objets activés par le client, consultez Activation du client.
Voir aussi
S’applique à
RegisterActivatedClientType(Type, String)
Inscrit un Type d'objet sur le client comme type qui peut être activé sur le serveur, en utilisant les paramètres spécifiés pour initialiser une nouvelle instance de la classe ActivatedClientTypeEntry.
public:
static void RegisterActivatedClientType(Type ^ type, System::String ^ appUrl);
public static void RegisterActivatedClientType (Type type, string appUrl);
static member RegisterActivatedClientType : Type * string -> unit
Public Shared Sub RegisterActivatedClientType (type As Type, appUrl As String)
Paramètres
- appUrl
- String
URL de l'application où ce type est activé.
Exceptions
Le paramètre typeName
ou URI
est null
.
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 pouvant être activé sur le serveur. Pour le code serveur qui correspond au code client présenté, consultez l’exemple de la RegisterActivatedServiceType 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;
using namespace System::Runtime::Remoting::Channels::Tcp;
int main()
{
ChannelServices::RegisterChannel( gcnew TcpChannel );
RemotingConfiguration::RegisterActivatedClientType( HelloServiceClass::typeid, "tcp://localhost:8082" );
try
{
HelloServiceClass ^ service = gcnew HelloServiceClass;
// 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" );
}
catch (Exception ex)
{
Console::WriteLine("An exception occurred: " + ex.Message);
}
Console::WriteLine();
return 0;
}
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;
public class ClientClass {
public static void Main() {
ChannelServices.RegisterChannel(new TcpChannel());
RemotingConfiguration.RegisterActivatedClientType(typeof(HelloServiceClass),
"tcp://localhost:8082");
try
{
HelloServiceClass service = new HelloServiceClass();
// 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();
}
catch (Exception ex)
{
Console.WriteLine("An exception occurred: " + ex.Message);
}
}
}
Imports System.Runtime.Remoting
Imports System.Runtime.Remoting.Channels
Imports System.Runtime.Remoting.Channels.Tcp
Public Class ClientClass
Public Shared Sub Main()
ChannelServices.RegisterChannel(New TcpChannel())
RemotingConfiguration.RegisterActivatedClientType(GetType(HelloServiceClass), "tcp://localhost:8082")
Try
Dim service As New HelloServiceClass()
' 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")
Catch ex as Exception
Console.WriteLine("An exception occurred: " + ex.Message)
End Try
Console.WriteLine()
End Sub
End Class
Remarques
Pour créer une instance d’un objet activé par le client sur le serveur, vous devez connaître son Type et il doit être inscrit à l’extrémité du serveur à l’aide de la RegisterActivatedServiceType méthode . Pour obtenir un proxy pour une nouvelle instance de l’objet activé par le client, le client doit d’abord inscrire un canal auprès ChannelServices de , puis activer l’objet en appelant new
.
Pour activer un type d’objet activé par le client avec le new
mot clé , vous devez d’abord inscrire le type d’objet à l’extrémité du client à l’aide de la RegisterActivatedClientType méthode . L’appel de la RegisterActivatedClientType méthode donne à l’infrastructure de communication à distance l’emplacement de l’application distante où new
tente de la créer. Si, en revanche, vous utilisez la Activator.CreateInstance méthode pour créer une nouvelle instance de l’objet activé par le client, vous devez fournir l’URL de l’application distante en tant que paramètre, de sorte qu’aucune inscription préalable du côté client n’est nécessaire. Pour fournir à la Activator.CreateInstance méthode l’URL du serveur sur lequel vous souhaitez créer l’objet, vous devez encapsuler l’URL dans une instance de la UrlAttribute classe .
Pour obtenir une description détaillée des objets activés par le client, consultez Activation du client.