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
Importare lo spazio dei nomi System.Runtime.Remoting
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'assemblyRemotableType
e che il client deve tentare di creare e utilizzare un oggettoRemotableType
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.
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 diRemotableType.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.
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
Concetti
Configurazione di applicazioni remote
Attivazione da server
Altre risorse
Generazione di un'applicazione .NET Framework Remoting di base