Metodo ObjectControl::Activate (comsvcs.h)
Consente a un oggetto COM+ di eseguire l'inizializzazione specifica del contesto ogni volta che viene attivata.
Questo metodo viene chiamato dall'ambiente di runtime COM+ prima che vengano chiamati altri metodi sull'oggetto.
Sintassi
HRESULT Activate();
Valore restituito
Questo metodo può restituire i valori restituiti standard E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED, E_FAIL e S_OK.
Commenti
Ogni volta che un client chiama un oggetto COM+ che non è già attivo, l'ambiente di esecuzione COM+ attiva automaticamente l'oggetto. Questa operazione è denominata Attivazione just-in-time. Per i componenti che supportano ObjectControl come interfaccia, COM+ richiama il metodo Activate dell'oggetto prima di passare la chiamata del metodo del client all'oggetto.
Tutte le procedure di inizializzazione specifiche del contesto devono essere implementate nel metodo Activate per gli oggetti che espongono ObjectControl.
Ad esempio, è possibile usare il metodo Activate per ottenere un riferimento al contesto di un oggetto e archiviarlo in una variabile membro. Il contesto dell'oggetto è quindi disponibile per qualsiasi metodo che lo richiede e non è necessario acquisire un nuovo oggetto ogni volta che si vuole usarlo. Dopo avere un riferimento al contesto dell'oggetto, è possibile usare i metodi ObjectContext per verificare se è abilitata la sicurezza, se l'oggetto è in esecuzione in una transazione o se il chiamante è in un determinato ruolo.
Se si abilita il riciclo degli oggetti (implementando il metodo CanBePooled per eseguire query sull'oggetto), il metodo Activate deve essere in grado di gestire gli oggetti appena creati e gli oggetti riciclati. Quando il metodo Activate restituisce, non deve esistere alcuna differenza distinguebile tra un nuovo oggetto e uno riciclato.
COM+ impedisce esplicitamente di chiamare in un oggetto che espone ObjectControl prima di chiamare il metodo Activate (quando si trova nel costruttore). Tale chiamata comporta un errore di RPC_E_DISCONNECTED. Ad esempio, se un oggetto passa un riferimento a se stesso mentre nel costruttore e quindi il riferimento viene richiamato in tale oggetto prima della chiamata a Attiva, viene restituito l'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 |