Isolamento degli errori e criteri failfast
COM+ esegue controlli completi di integrità e coerenza interni. Se COM+ rileva una condizione di errore interna imprevista, termina immediatamente il processo. Questo criterio, chiamato failfast, facilita il contenimento degli errori e comporta sistemi più affidabili e affidabili.
Si consideri un caso in cui COM+ rileva che una delle relative strutture di dati si trova in uno stato danneggiato. A questo punto, sia la causa che la grandezza della corruzione sono sconosciute e, purtroppo, COM+ non può dire fino a che punto il danno si è diffuso. Tuttavia, anche se COM+ è in uno stato indeterminato, non viene eseguito in isolamento. Analogamente ad altre DLL, è ospitato in un ambiente di processo e condivide un singolo spazio indirizzi con il file eseguibile principale del programma e molte altre DLL. Com+ presuppone pertanto che l'intero processo sia stato danneggiato e che il processo venga immediatamente terminato per impedire la diffusione di informazioni potenzialmente danneggiate ad altri processi o, peggio ancora, dalla possibilità di eseguire il commit e rendere durevoli i dati danneggiati.
COM+ non consente la propagazione delle eccezioni all'esterno di un contesto. Se si verifica un'eccezione durante l'esecuzione in un contesto COM+ e l'applicazione non intercetta l'eccezione prima di restituire dal contesto, COM+ intercetta l'eccezione e termina il processo. L'uso del criterio failfast in questo caso si basa sul presupposto che l'eccezione abbia messo il processo in uno stato indeterminato; non è sicuro continuare l'elaborazione.
In qualità di sviluppatore o amministratore, è necessario esaminare il registro applicazioni Visualizzatore eventi per informazioni dettagliate su eventuali errori di esecuzione non riuscita o gravi dell'applicazione.
Argomenti correlati