Compartir a través de


Liberar recursos de componente

Actualización: noviembre 2007

Un componente de cliente personalizado como un comportamiento, control o componente base podría tener que liberar recursos para poder disponer de él. Si ocurre esto, puede invalidar el método Sys.Component.dispose y liberar los recursos del método invalidado. Esto asegura que se liberan los recursos inmediatamente antes de disponer del componente. El componente hereda el método dispose de Sys.Component, Sys.UI.Behavior o la clase base Sys.UI.Control, dependiendo del tipo base del componente.

En el método del componente dispose, siga estos pasos:

  • Disponga o restablezca cualquier recurso utilizado por el componente.

  • Detenga cualquier proceso que el componente podría poner en cola internamente y deshabilite cualquier funcionalidad a la que podría llamar el consumidor del componente.

  • Llame al método dispose de la clase base.

    Nota:

    Esto resulta útil para proporcionar una propiedad pública que indica el estado habilitado del componente y que provoca un evento de cambio de propiedad en su descriptor de acceso set. A continuación, en el método dispose, establezca la propiedad para indicar que el componente está deshabilitado. Esto permite a un desarrollador de páginas detectar la disponibilidad del componente.

El ejemplo siguiente muestra cómo invalidar el método dispose que se define en el prototipo de una clase de 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');
}

El componente de este ejemplo proporciona una propiedad enabled que está establecida en false en el método dispose. El método de descriptor de acceso set de la propiedad enabled provoca un evento de cambio de propiedad al que puede enlazar un desarrollador de páginas y le permite probar la disponibilidad del componente. Este componente también tiene un método stopSimpleComponentProcess privado que es responsable de detener cualquier proceso en cola que todavía podría provocar un evento tick. El método también deshabilita la funcionalidad que el consumidor del componente podría invocar. Como una última tarea, se llama al método dispose base invocando al método Type.callBaseMethod heredado.

Nota:

Todas las clases registradas heredan el método callBaseMethod. Para obtener más información, vea Type.callBaseMethod (Método).

Vea también

Tareas

Crear componentes de cliente no visuales personalizados

Conceptos

Definir propiedades de componentes personalizados y provocar eventos PropertyChanged