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 objet Type à la fin du client en tant que type qui peut être activé sur le serveur.
Surcharges
| Nom | Description |
|---|---|
| RegisterActivatedClientType(ActivatedClientTypeEntry) |
Inscrit un objet Type enregistré dans le client fourni ActivatedClientTypeEntry en tant que type pouvant être activé sur le serveur. |
| RegisterActivatedClientType(Type, String) |
Inscrit un objet Type à la fin du client en tant que type pouvant être activé sur le serveur, à l’aide des paramètres donnés pour initialiser une nouvelle instance de la ActivatedClientTypeEntry classe. |
RegisterActivatedClientType(ActivatedClientTypeEntry)
Inscrit un objet Type enregistré dans le client fourni ActivatedClientTypeEntry en tant que type pouvant ê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 pour le type activé par le client.
Exceptions
Au moins un des appelants plus haut dans la pile d’appels n’est pas autorisé à configurer les types et canaux de communication à distance.
Remarques
Pour créer une instance d’un objet activé par le client sur le serveur, vous devez le connaître Type et l’inscrire sur le 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, ChannelServices 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 à la fin 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 il tente de le créer. Si, d’autre part, vous utilisez la Activator.CreateInstance méthode pour créer une instance de l’objet activé par le client, vous devez fournir l’URL de l’application distante en tant que paramètre. Par conséquent, aucune inscription préalable à la fin du client n’est nécessaire. Pour fournir la Activator.CreateInstance méthode avec l’URL du serveur où vous souhaitez créer l’objet, vous devez encapsuler l’URL dans une instance de la UrlAttribute classe.
Voir aussi
S’applique à
RegisterActivatedClientType(Type, String)
Inscrit un objet Type à la fin du client en tant que type pouvant être activé sur le serveur, à l’aide des paramètres donnés pour initialiser une nouvelle instance de la ActivatedClientTypeEntry classe.
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 ou type le appUrl paramètre est null.
Au moins un des appelants plus haut dans la pile d’appels n’est pas autorisé à configurer les types et canaux de communication à distance.
Exemples
L’exemple de code suivant illustre l’inscription d’un type d’objet à la fin 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 méthode RegisterActivatedServiceType .
#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 le connaître Type et l’inscrire sur le 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, ChannelServices 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 à la fin 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 il tente de le créer. Si, d’autre part, vous utilisez la Activator.CreateInstance méthode pour créer une instance de l’objet activé par le client, vous devez fournir l’URL de l’application distante en tant que paramètre. Par conséquent, aucune inscription préalable à la fin du client n’est nécessaire. Pour fournir la Activator.CreateInstance méthode avec l’URL du serveur où vous souhaitez créer l’objet, vous devez encapsuler l’URL dans une instance de la UrlAttribute classe.