Activación Just-In-Time
El servicio COM+ de activación Just-in-Time (JIT) permite utilizar los recursos de servidor inactivo de forma más provechosa. Cuando se configura un componente con activación JIT, COM+ puede desactivar una instancia del mismo, mientras un cliente sigue manteniendo una referencia activa al objeto. La próxima vez que el cliente llame a un método en el objeto, COM+ reactivará el objeto al cliente de forma transparente, just in time (justo a tiempo).
Nota Para un componente configurado con activación JIT, el objeto se activa la primera vez que se crea.
Cuando se devuelve la llamada al método, COM+ desactiva el objeto pero deja el contexto en la memoria. El objeto desactivado libera todos los recursos, incluidos los bloqueos en almacenes de datos costosos.
Nota Desde el punto de vista del rendimiento, es mejor no implementar un finalizador en una clase derivada de ServicedComponent y, en su lugar, colocar este código en el método DisposeObject. Aunque el proxy de ServicedComponent tenga un finalizador, llama a dicho finalizador en la clase derivada de ServicedComponent mediante reflexión.
Para habilitar la activación JIT, aplique el atributo JustInTimeActivationAttribute a una clase derivada de System.EnterpriseServices.ServicedComponent. Además, para garantizar que el objeto se desactiva en la devolución de la llamada al método, es necesario establecer el bit hecho del objeto. En el caso de los componentes transaccionales, puede aplicar AutoCompleteAttribute a una clase o llamar a ContextUtil.SetComplete o ContextUtil.SetAbort. En el caso de los componentes no transaccionales, llame a ContextUtil.DeactivateOnReturn.
Nota Las transacciones automáticas requieren activación JIT; por lo tanto, la activación JIT está habilitada implícitamente cuando las clases se configuran para el caso de las transacciones automáticas.
En el ejemplo siguiente se muestra cómo se habilita la activación y desactivación JIT en instancias de la clase TestObjectPooling
.
<JustInTimeActivation()> _
Public Class TestObjectPooling
Inherits ServicedComponent
[C#]
[JustInTimeActivation]
public class TestObjectPooling : ServicedComponent
Vea también
Resumen de servicios COM+ disponibles | JustInTimeActivationAttribute | System.EnterpriseServices (Espacio de nombres)