Attivazione da client
Gli oggetti attivati da client sono caratterizzati da una durata controllata dal dominio di applicazione chiamante, come se l'oggetto fosse locale per il client. Con l'attivazione da client, si verifica un round trip verso il server quando il client tenta di creare un'istanza dell'oggetto server e il proxy client viene creato mediante un riferimento all'oggetto (ObjRef) ottenuto dalla creazione dell'oggetto remoto nel server. Ogni volta che un client crea un'istanza di un tipo attivato da client, tale istanza serve solo quel determinato riferimento in quel client specifico fino alla scadenza del lease e al riciclo della relativa memoria. Se due nuove istanze del tipo remoto vengono create da un dominio di applicazione chiamante, ognuno dei riferimenti client richiama solo quella particolare istanza nel dominio di applicazione server dal quale e` stato restituito il riferimento.
In COM un oggetto viene mantenuto in memoria dai client mantenendo un riferimento a esso. Quando l'ultimo client rilascia l'ultimo riferimento, l'oggetto puo` eliminare se stesso. L'attivazione da client offre lo stesso controllo client sulla durata dell'oggetto server, ma senza la complessita` del mantenimento di riferimenti o del ping costante per confermare l'esistenza di server o client. Gli oggetti attivati da client, invece, utilizzano i lease di durata per determinare la propria durata. Quando crea un oggetto remoto, un client e` in grado di specificarne la durata predefinita. Se l'oggetto remoto raggiunge il limite di durata predefinito, contatta il client per sapere se deve continuare a esistere e, in tal caso, per quanto tempo. Se il client non e` disponibile, viene anche specificata una durata predefinita che stabilisce per quanto tempo l'oggetto server tenta di contattare il client prima di contrassegnarsi per la procedura di Garbage Collection. Il client puo` persino richiedere una durata indefinita predefinita, grazie alla quale si impedisce che l'oggetto remoto venga riciclato finche´ non si elimina il dominio di applicazione server. La differenza tra questa e una durata indefinita attivata da server consiste nel fatto che un oggetto indefinito attivato da server serve tutte le richieste client per quel tipo, mentre le istanze attivate da 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 da client, i client configurano l'applicazione a livello di programmazione o mediante un file di configurazione e chiamano new (New in Visual Basic) oppure passano la configurazione dell'oggetto remoto in una chiamata ad Activator.CreateInstance.
Per informazioni sulla creazione di un'istanza di un tipo attivato da client, vedere Procedura: creare un'istanza di un tipo attivato da client.
Vedere anche
Attività
Procedura: creare un'istanza di un tipo attivato da client
Concetti
Attivazione di oggetti remoti
Configurazione di applicazioni remote
Attivazione da server
Lease di durata