Condividi tramite


Rilascio delle risorse del componente

Aggiornamento: novembre 2007

Potrebbe essere necessario che il componente client personalizzato, ad esempio un comportamento, un controllo o un componente di base, rilasci risorse prima di essere eliminato. In tal caso, è possibile eseguire l'override del metodo Sys.Component.dispose e rilasciare le risorse del metodo sottoposto a override. In questo modo le risorse vengono rilasciate immediatamente prima dell'eliminazione del componente. Il componente eredita il metodo dispose dalla classe base Sys.Component, Sys.UI.Behavior o Sys.UI.Control, a seconda del proprio tipo di base.

Nel metodo dispose del componente, eseguire la seguente procedura.

  • Eliminare o reimpostare le risorse utilizzate dal componente.

  • Arrestare i processi che il componente può accodare internamente e disattivare le funzionalità che potrebbero essere chiamate dal consumer del componente.

  • Chiamare il metodo dispose della classe base.

    Nota:

    È utile fornire una proprietà pubblica che indica lo stato attivato del componente e che genera un evento modificato dalla proprietà nella propria funzione di accesso set. Impostare quindi tale proprietà nel metodo dispose per indicare che il componente è disattivato. In questo modo, gli sviluppatori di pagine saranno in grado di rilevare la disponibilità del componente.

Nell'esempio seguente viene illustrato come eseguire l'override del metodo dispose definito nel prototipo di una classe di componente.

dispose: function() {
    // Call set_enabled so the property-changed event is raised 
    //  in order to notify any attached listeners.
    this.set_enabled(false);

    // Stop any component processes so that 
    // they are not called after disposal.
    this._stopSimpleComponentProcesses();

    // Call the base dispose method.
    Samples.SimpleComponent.callBaseMethod(this, 'dispose');
}

Il componente di questo esempio fornisce la proprietà enabled impostata su false nel metodo dispose. Il metodo della funzione di accesso set della proprietà enabled genera un evento modificato dalla proprietà che uno sviluppatore di pagine può utilizzare per associazioni, per testare la disponibilità del componente. Questo componente ha anche un metodo _stopSimpleComponentProcess privato responsabile dell'interruzione dei processi in coda che potrebbero ancora generare un evento tick. Il metodo disattiva inoltre le funzionalità che potrebbero essere richiamate dal consumer del componente. Come ultima attività, il metodo dispose di base viene chiamato richiamando il metodo Type.callBaseMethod ereditato.

Nota:

Tutte le classi registrate ereditano il metodo callBaseMethod. Per ulteriori informazioni, vedere Metodo Type.callBaseMethod.

Vedere anche

Attività

Creazione di componenti client non visivi personalizzati

Concetti

Definizione di proprietà del componente personalizzato e generazione di eventi PropertyChanged