Limiti: processi e domini applicazione

I sistemi operativi e gli ambienti di runtime moderni richiedono la protezione delle singole applicazioni dagli errori delle altre. Nei sistemi operativi Microsoft Windows le applicazioni sono protette l'una dall'altra dal fatto di essere eseguite ciascuna in un processo indipendente. Se un'applicazione si blocca per un motivo qualsiasi, solo il relativo processo ne è influenzato, mentre le applicazioni in altri processi continuano a funzionare. Dato che gli indirizzi di memoria di un processo non hanno significato in un altro, naturalmente, può risultare complesso chiamare le funzioni di un processo da un altro processo. Con il termine marshalling ** si indicano gli eventi che hanno luogo quando il package di una chiamata e degli eventuali argomenti viene creato in un processo e annullato in un altro per consentire la riuscita di una chiamata oltre il limite di un processo.

Nell'ambiente gestito domini applicazione, che possono essere considerati processi logici, e contesti offrono isolamento e protezione a costi contenuti e con maggiore scalabilità rispetto a un processo del sistema operativo, anche grazie al fatto che il codice gestito è type-safe e che questa condizione è verificabile. Ogni applicazione gestita viene eseguita in un dominio applicazione, indipendentemente dal fatto che esso venga avviato da un'altra applicazione o dall'ambiente host. .NET Remoting fornisce l'infrastruttura per comunicare tra domini applicazione in modo diretto, sicuro e protetto.

Vedere anche

Trasformazione in oggetti remotizzabili | Domini applicazione | Approfondimento di .NET Framework