Cenni preliminari su .NET Remoting

.NET Remoting consente di generare facilmente applicazioni ampiamente distribuite, indipendentemente dal fatto che i componenti dell'applicazione siano tutti residenti sullo stesso computer o siano dislocati in varie parti del mondo. È possibile generare applicazioni client in cui si utilizzino oggetti di altri processi nello stesso computer o in qualsiasi altro computer disponibile sulla rete. .NET Remoting può essere utilizzato anche per comunicare con altri domini applicazione nello stesso processo. Per ulteriori informazioni sulla programmazione dei domini applicazione, vedere Programmazione con i domini applicazione.

.NET Remoting prevede un approccio astratto alla comunicazione interprocesso che separa l'oggetto remotizzabile da uno specifico dominio applicazione client o server e da uno specifico meccanismo di comunicazione. Di conseguenza, è flessibile e facilmente personalizzabile. È possibile sostituire i protocolli di comunicazione o i formati di serializzazione senza dover ricompilare il client o il server. Il sistema remoto, inoltre, non presuppone alcun modello di applicazione in particolare. Per la comunicazione è possibile utilizzare un'applicazione Web, un'applicazione console, un servizio Windows e un numero quasi illimitato di altre opzioni. Anche i server remoti possono essere rappresentati da qualsiasi tipo di dominio applicazione. Tutte le applicazioni possono contenere oggetti remoti e, in tal modo, vengono forniti servizi a tutti i client del computer o della rete.

Per generare con .NET Remoting un'applicazione in cui due componenti possano comunicare direttamente oltre il limite di un dominio applicazione, è sufficiente generare i seguenti elementi:

  • Un oggetto remotizzabile.
  • Un dominio applicazione host per attendere richieste per l'oggetto.
  • Un dominio applicazione client che effettua richieste per l'oggetto.

.NET Remoting può essere inteso in questo senso, anche in un'applicazione complessa, multiclient/multiserver. L'applicazione host e l'applicazione client, inoltre, devono essere configurate con l'infrastruttura remota ed è necessario comprendere i problemi di durata e di attivazione che quest'ultima pone.

In questa sezione

  • Generazione di un'applicazione .NET Remoting di base
    Viene illustrato lo scenario .NET Remoting di base mediante la generazione di un tipo remotizzabile, di un'applicazione listener e del relativo file di configurazione, di un'applicazione client e del relativo file di configurazione.
  • Architettura di .NET Remoting
    Viene descritta l'architettura del sistema .NET Remoting.
  • Trasformazione in oggetti remotizzabili
    Vengono descritti i limiti della comunicazione remota e come implementare tipi attivabili attraverso questi limiti.
  • Attivazione e durata degli oggetti
    Vengono descritti i diversi tipi di attivazione remota e le modalità di gestione della durata degli oggetti remoti.
  • Canali
    Vengono descritti i canali definiti dal sistema e vengono fornite le informazioni necessarie per scegliere il canale ottimale per un determinato scenario.
  • Configurazione
    Vengono descritti i principali requisiti di configurazione dell'infrastruttura di .NET Remoting, i tipi di configurazione utilizzabili per soddisfare tali requisiti e le esigenze specifiche di vari domini applicazione client e server.
  • Controllo delle versioni
    Viene descritto il funzionamento del controllo delle versioni in uno scenario remoto.
  • Protezione
    Vengono descritti i requisiti di protezione relativi all'utilizzo della comunicazione remota e i criteri di base per generare applicazioni remote protette.
  • Comunicazione remota asincrona
    Viene descritto come eseguire programmazione asincrona in uno scenario remoto.
  • CallContexts e comunicazione remota diretta
    Viene descritto come passare dati aggiuntivi con chiamate di metodi remoti mediante CallContext e come pubblicare in modo dinamico oggetti per utilizzabili in modalità remota.

Sezioni correlate

  • Comunicazione remota avanzata
    Vengono descritti gli aspetti di base dell'intercettazione e dell'estensione, utilizzabili per personalizzare l'architettura di .NET Remoting.
  • Schema delle impostazioni remote
    Vengono fornite informazioni di riferimento sugli elementi utilizzabili per configurare .NET Remoting mediante un file di configurazione.