Condividi tramite


Enumerazione EClrOperation

Descrive l'insieme di operazioni per cui un host può applicare le azioni dei criteri.

typedef enum {
    OPR_ThreadAbort,
    OPR_ThreadRudeAbortInNonCriticalRegion,
    OPR_ThreadRudeAbortInCriticalRegion,
    OPR_AppDomainUnload,
    OPR_AppDomainRudeUnload,
    OPR_ProcessExit,
    OPR_FinalizerRun
} EClrOperation;

Membri

Membro

Descrizione

OPR_AppDomainRudeUnload

L' host può specificare le azioni dei criteri da intraprendere quando un oggetto AppDomain viene scaricato in modo non regolare.

OPR_AppDomainUnload

L'host può specificare le azioni dei criteri da eseguire quando un oggetto AppDomain viene scaricato.

OPR_FinalizerRun

L'host può specificare le azioni dei criteri da intraprendere quando vengono eseguiti i finalizzatori.

OPR_ProcessExit

L'host può specificare le azioni dei criteri da eseguire alla chiusura del processo.

OPR_ThreadAbort

L'host può specificare le azioni dei criteri da eseguire quando un thread viene interrotto.

OPR_ThreadRudeAbortInCriticalRegion

L'host può specificare le azioni dei criteri da eseguire quando un'interruzione del thread di tipo RudeAbort si verifica in un'area critica del codice.

OPR_ThreadRudeAbortInNonCriticalRegion

L'host può specificare le azioni dei criteri da eseguire quando un'interruzione del thread di tipo RudeAbort si verifica in un'area non critica del codice.

Note

L'infrastruttura di affidabilità di Common Language Runtime distingue tra le interruzioni e gli errori di allocazione delle risorse che si verificano in aree critiche del codice e quelli che avvengono in aree non critiche. Questa distinzione è progettata per consentire agli host di impostare criteri differenti a seconda dell'area del codice in cui si verifica un errore.

Si definisce area critica del codice un qualsiasi spazio in cui Common Language Runtime non è in grado di garantire se l'interruzione di un'attività o il mancato completamento di una richiesta di risorse influirà solo sull'attività corrente. Se, ad esempio, durante l'inoltro di una richiesta di allocazione della memoria, un'attività contenente un blocco riceve un valore di HRESULT che indica un errore, non sarà sufficiente interrompere semplicemente l'attività per garantire la stabilità di AppDomain, perché AppDomain potrebbe contenere altre attività in attesa dello stesso blocco. L'interruzione dell'attività corrente potrebbe causare la sospensione indefinita (o blocco) delle altre attività, che smetteranno di rispondere. In questo caso, è necessario che l'host sia in grado di scaricare l'intero oggetto AppDomain anziché rischiare un'instabilità.

Si definisce, invece, area non critica del codice uno spazio in cui Common Language Runtime è in grado di garantire che un'interruzione o un errore influirà solamente sull'attività nella quale si verifica l'errore.

CLR, inoltre, distingue tra interruzioni regolari e non regolari. In un'interruzione normale o regolare in genere si tenta di eseguire i finalizzatori e le routine di gestione delle eccezioni prima di interrompere l'attività, mentre in un'interruzione irregolare tale garanzia non è offerta.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: MSCorEE.h

Libreria: MSCorEE.dll

Versioni di .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Vedere anche

Riferimenti

Enumerazione EClrFailure

Enumerazione EPolicyAction

Interfaccia ICLRPolicyManager

Interfaccia IHostPolicyManager

Altre risorse

Enumerazioni di hosting