Partager via


Comment : générer une application cliente

Pour générer un client du type distant défini dans Comment : générer un type accessible à distance et hébergé par l'application créée dans Comment : générer une application d'hébergement, votre application doit s'inscrire en tant que client de cet objet distant, puis l'appeler comme si elle se trouvait dans le domaine d'application du client. Le système d'accès distant .NET intercepte vos appels clients, les transfère à l'objet distant et retourne les résultats à votre client. La procédure suivante décrit comment générer un client d'accès distant de base.

NoteRemarque :

Consultez Comment : compiler et exécuter une application d'accès distant de base pour obtenir des instructions complètes sur la génération et l'exécution de cet exemple.

Pour générer un client d'accès distant de base

  1. Poursuivons à partir de Comment : générer une application d'hébergement ; créez un répertoire sous remoting appelé client. Créez un fichier de configuration pour l'application cliente comme indiqué dans le code suivant et enregistrez le fichier dans le répertoire remoting\client. Le nom de fichier doit correspondre au format app-name.exe.config. Il s'appelle ici client.exe.config. Le fichier de configuration suivant informe le système d'accès distant que les informations de type de l'objet distant RemotableType se trouvent dans l'assembly RemotableType et que l'adresse de l'objet est https://localhost:8989/RemotableType .rem.

    <configuration>
       <system.runtime.remoting>
          <application>
             <client>
                <wellknown 
                   type="RemotableType, RemotableType"
                   url="https://localhost:8989/RemotableType.rem"
                />
             </client>
          </application>
       </system.runtime.remoting>
    </configuration>
    

    Pour plus d'informations sur l'attribut URL de ce fichier de configuration, consultez URL d'activation. Pour exécuter cette application sur un réseau, remplacez localhost dans la configuration client par le nom de l'ordinateur distant.

    NoteRemarque :

    Bien que le fichier de configuration précédent contienne peu de paramètres, la plupart des problèmes rencontrés avec l'accès distant .NET se produisent en raison de certains paramètres incorrects ou ne correspondant pas aux paramètres de configuration des applications clientes. Il est facile d'écrire de façon erronée un nom, d'oublier un port ou un attribut. Si vous rencontrez des problèmes avec votre application d'accès distant, commencez par vérifier vos paramètres de configuration.

  2. Créez un fichier source dans le langage de votre choix. Dans la méthode principale, appelez RemotingConfiguration.Configure en passant le nom du fichier de configuration client (client.exe.config). Instanciez ensuite une instance de RemotableType et appelez sa méthode SayHello. Enregistrez l'application cliente sous Client.cs ou Client.vb dans le répertoire remoting\client.

    NoteRemarque :

    L'application cliente ne doit pas être enregistrée dans le même répertoire que celui de votre application Listener.exe. En effet, vous ne pouvez pas être certain que vous recevez et utilisez une référence distante, car la résolution d'assembly et de type peut se produire lorsque des applications sont dans le même répertoire.

       Public Shared Sub Main()
          RemotingConfiguration.Configure("Client.exe.config")
          Dim remoteObject As New RemotableType()
          Console.WriteLine(remoteObject.SayHello())
       End Sub 'Main
    
       public static void Main(){
          RemotingConfiguration.Configure("Client.exe.config");
          RemotableType remoteObject = new RemotableType();
          Console.WriteLine(remoteObject.SayHello());
       }
    
  3. Copiez l'assembly RemotableType.dll à partir de remoting\Type vers remoting\client.

    NoteRemarque :

    À ce stade, beaucoup se demandent « Comment savoir si l'objet distant est appelé si je copie l'assembly vers le client ? ». C'est exactement pour cette raison que nous avons ajouté l'appel à Console.WriteLine dans la méthode RemotableType.SayHello(). Si l'objet distant est appelé, WriteLine se produit dans le processus écouteur. Sinon, WriteLine se produit dans le processus client.

  4. Compilez l'application cliente en saisissant la commande suivante dans le répertoire remoting\client :

    vbc /r:RemotableType.dll Client.vb
    csc /noconfig /r:RemotableType.dll Client.cs
    
  5. Ouvrez deux invites de commandes. Dans l'une d'elle, accédez au répertoire remoting\listener et exécutez listener.exe. Dans l'autre, accédez au répertoire remoting\client et exécutez client.exe. L'invite de commandes du client doit ressembler à ceci :

    C:\tmp\Remoting\client>client 
    Hello, world 
    
  6. L'invite de commandes de l'écouteur doit ressembler à ceci :

    C:\tmp\Remoting\listener>listener
    Listening for requests. Press Enter to exit...
    RemotableType.SayHello() was called!
    
  7. L'invite de commandes de l'écouteur indique qu'il a reçu un appel à RemotableType.SayHello().

Exemple

' Client.vb 
Imports System
Imports System.Runtime.Remoting

Public Class Client
   Public Shared Sub Main()
      RemotingConfiguration.Configure("Client.exe.config")
      Dim remoteObject As New RemotableType()
      Console.WriteLine(remoteObject.SayHello())
   End Sub 'Main
End Class 'Client
// Client.cs 
using System;
using System.Runtime.Remoting;

public class Client{

   public static void Main(){
      RemotingConfiguration.Configure("Client.exe.config");
      RemotableType remoteObject = new RemotableType();
      Console.WriteLine(remoteObject.SayHello());
   }
}

Voir aussi

Tâches

Comment : générer une application d'hébergement

Référence

Schéma des paramètres d'accès distant

Concepts

Configuration d'applications distantes
Activation serveur

Autres ressources

Génération d'une application d'accès distant .NET Framework de base

Footer image

Copyright ©2007 par Microsoft Corporation. Tous droits réservés.