Questa documentazione è stata archiviata e non viene gestita.

Cenni preliminari su .NET Framework Remoting

.NET Remoting consente di generare facilmente applicazioni distribuite, indipendentemente dal fatto che i componenti dell'applicazione siano tutti residenti sullo stesso computer o siano dislocati a livello internazionale. E` 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 puo` essere utilizzato anche per comunicare con altri domini di applicazione nello stesso processo. Per ulteriori informazioni sulla programmazione dei domini di applicazione, vedere Programming with Application Domains.

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

NoteNota

Per una maggiore protezione, e` consigliabile esporre gli endpoint di .NET Remoting su canali protetti e di non esporli mai non protetti su Internet.

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

  • Un oggetto remotizzabile.

  • Un dominio di applicazione host per attendere richieste per l'oggetto.

  • Un dominio di applicazione client che effettua richieste per l'oggetto.

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

In questa sezione

Generazione di un'applicazione .NET Framework 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 e di un'applicazione client e del relativo file di configurazione.

Architettura di .NET Framework Remoting

Viene descritta l'architettura del sistema .NET Remoting.

Trasformazione in oggetti remotizzabili

Vengono descritti i limiti dell'ambiente .NET Remoting e come implementare tipi attivabili attraverso questi limiti.

Attivazione e durata degli oggetti

Vengono descritti i diversi tipi di attivazione remota e le modalita` 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 di applicazioni remote

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 di applicazione client e server.

Informazioni sulla versione in .NET Remoting

Viene descritto il funzionamento del controllo delle versioni in uno scenario remoto.

Protezione in .NET Remoting

Vengono descritti i requisiti di protezione relativi all'utilizzo di .NET Remoting e i criteri di base per generare applicazioni .NET Remoting protette.

Programmazione asincrona in .NET Remoting

Viene descritto come eseguire programmazione asincrona in uno scenario .NET Remoting.

Procedura: chiamare i metodi di un oggetto remoto in modo asincrono

Viene illustrato come eseguire una chiamata asincrona a un metodo di un oggetto remoto.

Problemi relativi alla chiamata di metodi di oggetti remoti in modo asincrono

Descrive i problemi relativi a una chiamata asincrona a un metodo di un oggetto remoto.

Utilizzo di CallContext e del sistema .NET Remoting in modo diretto

Viene descritto come passare dati aggiuntivi con chiamate di metodi remoti mediante CallContext e come pubblicare in modo dinamico oggetti utilizzabili in modalita` remota.

Riferimenti

Remoting Settings Schema

Vengono fornite informazioni di riferimento sugli elementi utilizzabili per configurare .NET Remoting mediante un file di configurazione.

System.Runtime.Remoting

Vengono fornite informazioni di riferimento sui tipi utilizzabili per eseguire .NET Remoting.

System.Runtime.Remoting.Activation

Contiene classi e oggetti che supportano l'attivazione da server e da client di oggetti remoti.

System.Runtime.Remoting.Channels

Contiene classi che supportano e consentono la gestione di canali e sink di canale, utilizzati come mezzo di trasporto quando un metodo su un oggetto remoto viene chiamato da un client.

System.Runtime.Remoting.Channels.Http

Contiene classi per canali che utilizzano il protocollo HTTP per il trasporto di messaggi e oggetti da e verso posizioni remote.

System.Runtime.Remoting.Channels.Ipc

Contiene classi che definiscono un canale di comunicazione per .NET Remoting che utilizza il sistema di comunicazione interprocesso (IPC, Interprocess Communication) del sistema operativo Windows.

System.Runtime.Remoting.Channels.Tcp

Contiene classi che definiscono i canali che utilizzano il protocollo TCP per il trasporto di messaggi e oggetti da e verso posizioni remote.

System.Runtime.Remoting.Contexts

Contiene oggetti che definiscono i contesti in cui risiedono tutti gli oggetti remoti.

System.Runtime.Remoting.Lifetime

Contiene classi che consentono la gestione della durata degli oggetti remoti.

System.Runtime.Remoting.Messaging

Contiene classi utilizzabili per creare e trasmettere messaggi.

System.Runtime.Remoting.Metadata

Contiene classi e attributi utilizzabili per personalizzare la generazione e l'elaborazione di SOAP per oggetti e campi.

System.Runtime.Remoting.Metadata.W3cXsd2001

Contiene la definizione degli schemi XML, XSD (XML Schema Definition) definita dal World Wide Web Consortium (W3C) nel 2001.

System.Runtime.Remoting.MetadataServices

Contiene le classi utilizzate dallo strumento da riga di comando Soapsuds Tool (Soapsuds.exe) e il codice utente per la conversione dei metadati da e verso lo schema XML per l'infrastruttura di .NET Remoting.

System.Runtime.Remoting.Proxies

Contiene classi in grado di controllare e fornire funzionalita` per i proxy.

System.Runtime.Remoting.Services

Contiene le classi dei servizi che includono le funzionalita` per .NET Framework.

Sezioni correlate

Opzioni avanzate di .NET Remoting

Vengono descritti gli aspetti di base dell'intercettazione e dell'estensione, utilizzabili per personalizzare l'architettura di .NET Remoting.

Esempi di codice di .NET Remoting

Vengono fornite numerose applicazioni di esempio complete in cui sono utilizzati diversi elementi dell'infrastruttura di .NET Remoting.

Mostra: