Condividi tramite


Metodo IObjectControl::D eactivate (comsvcs.h)

Consente a un oggetto COM+ di eseguire la pulizia necessaria prima che venga riciclato o distrutto.

Questo metodo viene chiamato dall'ambiente di runtime COM+ ogni volta che un oggetto viene disattivato. Non effettuare chiamate di metodo agli oggetti nella stessa attività da questo metodo.

Sintassi

void Deactivate();

Valore restituito

nessuno

Osservazioni

L'ambiente di runtime COM+ chiama il metodo Disattiva ogni volta che un oggetto che supporta l'interfaccia IObjectControl viene disattivato. Un oggetto viene disattivato quando restituisce da un metodo in cui il metodo denominato SetComplete o SetAbort, quando la transazione in cui è stata eseguita viene eseguito il commit o l'interruzione o quando l'ultimo client deve contenere un riferimento sull'oggetto rilascia il riferimento.

Se il componente supporta il riciclo (restituisce TRUE dal metodo CanBePooled ), è necessario utilizzare il metodo Disattiva per reimpostare lo stato dell'oggetto allo stato in cui il metodo Activate prevede di trovarlo. È anche possibile usare il metodo Disattiva per rilasciare il contesto dell'oggetto o per eseguire altre operazioni di pulizia specifiche del contesto. Anche se un oggetto supporta il riciclo, può essere utile rilasciare determinate risorse riutilizzabili nel metodo Disattiva . Ad esempio, ODBC fornisce il proprio pool di connessioni. È più efficiente eseguire il pool di una connessione di database in un pool di connessioni generale in cui altri oggetti possono usarli rispetto a quelli associati a un oggetto specifico in un pool di oggetti.

COM+ impedisce esplicitamente di chiamare in un oggetto che espone IObjectControl dopo che il metodo disattivato è stato restituito (quando si trova nel relativo distruttore). Tale chiamata comporta un errore di RPC_E_DISCONNECTED. Ad esempio, se un oggetto ha passato un riferimento a se stesso e quindi torna all'oggetto dopo aver restituito Disattiva, viene restituito un errore disconnesso.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione comsvcs.h

Vedi anche

IObjectControl