Condividi tramite


Procedura: generare un'applicazione client

Per generare un client del tipo remoto definito in Procedura: creare un tipo remotizzabile e ospitato dall'applicazione creata in Generazione di un’applicazione host, e` necessario che l'applicazione sia registrata come client per l'oggetto remoto specifico e che venga richiamata come se si trovasse all'interno del dominio di applicazione del client. Il sistema .NET Remoting consentira` di intercettare le chiamate del client, di inoltrarle all'oggetto remoto e di restituire i risultati al client. Nel codice seguente viene illustrata la generazione di un semplice client di .NET Remoting.

Per generare un semplice client di .NET Remoting

  1. Importare lo spazio dei nomi System.Runtime.Remoting

  2. Creare un file di configurazione del client in modo che l'applicazione client sia in grado di individuare l'oggetto remoto, quindi salvare il file nella stessa cartella dell'applicazione client. Il file di configurazione seguente, ad esempio, indica al sistema .NET Remoting che le informazioni sul tipo per l'oggetto remoto RemotableType sono reperibili nell'assembly RemotableType e che il client deve tentare di creare e utilizzare un oggetto RemotableType che si trova all'indirizzo 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>
    

    Per ulteriori informazioni sull'attributo URL in questo file di configurazione, vedere URL di attivazione. Per eseguire l'applicazione in una rete, nella configurazione del client e` necessario sostituire localhost con il nome del computer remoto.

    Nota

    Sebbene il file di configurazione non contenga molte impostazioni, la maggior parte dei problemi relativi all'utilizzo di .NET Remoting si verifica poiche´ alcune di tali impostazioni non sono corrette o non corrispondono alle impostazioni di configurazione per le applicazioni client. E` facile commettere un errore nella digitazione del nome, dimenticare una porta o tralasciare un attributo. Se si riscontrano problemi con l'applicazione .NET Remoting, per prima cosa controllare le impostazioni di configurazione.

  3. Salvare l'applicazione client come Client.estensione_linguaggio oppure utilizzare un altro nome di file, in cui l'estensione del linguaggio indica il linguaggio di compilazione. Salvare il file nella stessa directory in cui e` stata salvata una copia di RemotableType.dll, la cui generazione e` descritta nell'argomento Procedura: creare un tipo remotizzabile.

    Nota

    L'applicazione client non dovrebbe essere salvata nella stessa directory dell'applicazione Listener.exe. In caso contrario, non si avra` la certezza di stare ricevendo e utilizzando un riferimento remoto, perche´ quando le applicazioni si trovano nella stessa directory puo` verificarsi la risoluzione dell'assembly e del tipo.

  4. Compilare l'applicazione o chiamare l'eseguibile mediante gli strumenti da riga di comando disponibili in .NET Framework SDK. Per compilare l'applicazione client Client.estensione_linguaggio, ad esempio, al prompt dei comandi modificare la directory nella cartella in cui l'applicazione client e` stata salvata, quindi digitare il comando seguente:

    vbc /r:RemotableType.dll Client.vb
    
    csc /noconfig /r:RemotableType.dll Client.cs
    

Esempio

' 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.StringMethod())
   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.StringMethod());
   }
}

Vedere anche

Attività

Procedura: creare un'applicazione host

Riferimenti

Remoting Settings Schema

Concetti

Configurazione di applicazioni remote
Attivazione da server

Altre risorse

Generazione di un'applicazione .NET Framework Remoting di base