Share via


Attivazione da client

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 oggetti attivati dal client sono oggetti la cui durata è controllata dal dominio dell'applicazione chiamante, proprio come se l'oggetto fosse specifico per il client. Quando viene creato un oggetto attivato dal client, il client effettua una chiamata al server. Il server crea un'istanza dell'oggetto remoto e restituisce un riferimento all'oggetto (ObjRef) al client. Il client utilizza ObjRef per creare un proxy per l'oggetto remoto. Ogni volta che un client crea un'istanza di un oggetto attivato dal client, riceve un proxy che comunica con un'istanza server specifica dell'oggetto remoto fino alla scaduta del lease e al riciclo della memoria.

In COM, i client tengono un oggetto in memoria mantenendone un riferimento. Quando l'ultimo client rilascia l'ultimo riferimento, l'oggetto può eliminarsi. L'attivazione da client fornisce lo stesso controllo client sulla durata dell'oggetto server, ma senza la complessità generata della gestione di riferimenti o la costante esecuzione di ping per confermare l'esistenza del server o del client. Invece, gli oggetti attivati dal client utilizzano lease di durata per determinare per quanto tempo dovranno continuare a esistere. Quando un client crea un oggetto remoto, può specificare una durata di vita predefinita dell'oggetto. Se l'oggetto remoto raggiunge il limite di durata predefinito, contatta il client per chiedere se deve continuare a esistere, e in caso affermativo, per quanto tempo ancora. Se il client non è attualmente disponibile, viene specificata una durata predefinita dell'attesa dell'oggetto server durante il tentativo di contattare il client prima di contrassegnarsi anche per quanto tempo l'oggetto server deve aspettare mentre tenta di contattare il client prima di contrassegnarsi per la Garbage Collection. Il client potrebbe anche richiedere una durata predefinita indefinita, impedendo così che l'oggetto remoto venga mai riciclato finché il dominio di applicazione server non viene eliminato. Questa operazione si differenzia da una durata indefinita attivata dal server perché un oggetto attivato dal server indefinito serve tutte le richieste del client per quel tipo, mentre le istanze attivate dal client servono solo il client e il riferimento responsabile della loro creazione. Per ulteriori informazioni, vedere Lease di durata.

Per creare un'istanza di un tipo attivato dal client, i client configurano l'applicazione a livello di codice (o utilizzando un file di configurazione) e chiamano new (New in Visual Basic) o passano la configurazione dell'oggetto remoto in una chiamata a Activator.CreateInstance.

Per informazioni sulla creazione di un'istanza di un tipo attivato dal client vedere, Procedura: creare un'istanza di un tipo attivato dal client.

Per informazioni su come utilizzare un file di configurazione per configurare un'applicazione host per la creazione di tipi attivati dal client, vedere Elemento <activated> (istanza del servizio). Per informazioni su come utilizzare un file di configurazione per configurare un client per l'utilizzo di tipi attivati dal client, vedere Elemento <activated> (istanza del client).

Vedere anche

Attività

Procedura: creare un'istanza di un tipo attivato dal client

Concetti

Attivazione di oggetti remoti
Configurazione di applicazioni remote
Attivazione del server
Lease di durata