Condividi tramite


Configurazione di oggetti remoti

Questo argomento è specifico di una tecnologia legacy mantenuta per una questione di compatibilità con le applicazioni esistenti di versioni precedenti e non è consigliato per il nuovo sviluppo. Le applicazioni distribuite devono ora essere sviluppate utilizzando  Windows Communication Foundation (WCF).

Gli sviluppatori che pubblicano o utilizzano oggetti utilizzabili in remoto sono responsabili della configurazione del sistema .NET Remoting affinché le applicazioni che utilizzano .NET Remoting funzionino correttamente. È possibile eseguire questa operazione a livello di codice oppure utilizzando il file di configurazione dell'applicazione o il file di configurazione del computer. Gli amministratori possono quindi utilizzare lo strumento .NET Framework Configuration per indirizzare client remoti a endpoint differenti o per modificare la durata degli oggetti attivati dal client (<activated>) o attivati dal server (<wellknown>) laddove necessario.

La registrazione delle classi utilizzabili in remoto viene eseguita posizionando tali classi all'interno dell'elemento <application>, figlio dell'elemento <system.runtime.remoting>. Gli oggetti utilizzati da un'applicazione sono raggruppati dall'applicazione remota nella sezione <client> all'interno dell'elemento <application>. Gli oggetti esposti da un'applicazione vengono dichiarati all'interno di una sezione <service> nel nodo <application>. Se non si effettua l'hosting dei tipi remoti in Internet Information Services (IIS), è possibile specificare un attributo name per l'applicazione che diventa quindi parte dell'URL di attivazione, ma non è necessaria in nessuno scenario. Per ulteriori informazioni sull'hosting in IIS, vedere Hosting di oggetti remoti in Internet Information Services (IIS).

.NET Remoting, inoltre, non recupera automaticamente i valori di configurazione dei servizi remoti dal file di configurazione dell'applicazione. Per configurare i servizi remoti tramite un file di configurazione, è necessario chiamare RemotingConfiguration.Configure. Il file di configurazione dei servizi remoti verrà automaticamente caricato nel dominio dell'applicazione host solo quando il tipo utilizzabile in remoto risiede in IIS. In tal caso, .NET Remoting recupererà automaticamente solo le impostazioni del servizio dal file Web.config. Le impostazioni del client verranno ignorate fino a quando il file di configurazione non verrà nuovamente caricato con una chiamata diretta al metodo RemotingConfiguration.Configure.

Nello schema seguente viene illustrata la struttura degli elementi che possono essere utilizzati per configurare un'applicazione in modo che utilizzi .NET Remoting.

<configuration>

<system.runtime.remoting>

<application>

<lifetime>

<channels> (istanza)

<channel> (istanza)

<serverProviders> (istanza)

<provider> (istanza)

<formatter> (istanza)

<clientProviders> (istanza)

<provider> (istanza)

<formatter> (istanza)

<client>

<wellknown> (istanza client)

<activated> (istanza client)

<service>

<wellknown> (istanza del servizio)

<activated> (istanza del servizio)

<soapInterop>

<interopXmlType>

<interopXmlElement>

<preLoad>

<channels> (modello)

<channel> (modello)

<serverProviders> (istanza)

<provider> (istanza)

<formatter> (istanza)

<clientProviders> (istanza)

<provider> (istanza)

<formatter> (istanza)

<channelSinkProviders>

<serverProviders> (modello)

<provider> (modello)

<formatter> (modello)

<clientProviders> (modello)

<provider> (modello)

<formatter> (modello)

<debug>

Per utilizzare le impostazioni remote, è necessario chiamare RemotingConfiguration.Configure sul file di configurazione dell'applicazione. Si noti che Common Language Runtime carica automaticamente il file di configurazione del computer prima di caricare il file di configurazione dell'applicazione. Non chiamare RemotingConfiguration.Configure sul file di configurazione del computer. Se si esegue questa operazione, è possibile che vengano generate eccezioni quando alcuni oggetti già presenti in memoria vengono caricati di nuovo.

Configurazione della durata

Specificare una durata predefinita per tutti gli oggetti attivati dal client e gli oggetti Singleton attivati dal server in un'applicazione utilizzando l'elemento <lifetime>.

Per ulteriori informazioni sulla configurazione a livello di codice e sulle nozioni di durata, vedere Lease di durata.

Elementi istanza ed elementi modello

Esistono due tipi di elementi correlati alla compilazione di canali: gli elementi modello e gli elementi istanza. Gli elementi modello vengono utilizzati per dichiarare un provider di sink di canale del client, del server o del canale o un formattatore di sink del canale o del server da utilizzare in qualunque altra parte della stessa applicazione facendo riferimento all'attributo ID dell'elemento modello.

42d55ae3.note(it-it,VS.100).gifNota:
Ogni volta che si utilizza l'attributo type in un elemento modello per creare una configurazione predefinita che utilizza un tipo implementato dal sistema, ad esempio un BinaryFormatter o un HttpChannel, è necessario specificare le informazioni complete sul tipo, incluse la versione, le impostazioni cultura e le informazioni con nome sicuro. È possibile ottenere queste informazioni dal file machine.config o tramite l'utilità della Global Assembly Cache Gacutil.exe. Non è necessario se il tipo viene definito in un assembly che non si trova nella Global Assembly Cache ma è individuabile oppure se si fa riferimento al tipo in un elemento istanza in cui è possibile utilizzare l'attributo ref.

Vedere anche

Attività

Procedura: configurare il ciclo di vita di un oggetto remoto attivato dal client o attivato dal server
Procedura: configurare canali

Riferimento

System.Runtime.Remoting.RemotingConfiguration Class

Concetti

Configurazione di applicazioni remote
Canali
Registrazione di canali
Registrazione lato server
Registrazione lato client
Registrazione di canali

Altre risorse

Registrazione di oggetti remoti tramite file di configurazione
Panoramica di .NET Framework Remoting