Considerazioni sulla sicurezza e sui servizi remoti
I servizi remoti consentono di impostare chiamate trasparenti tra domini applicazione, processi o computer. Il percorso stack della sicurezza per l'accesso al codice non può tuttavia superare i confini di processo o di computer, in quanto si applica solamente tra domini applicazione dello stesso processo.
Le classi utilizzabili in modalità remota, derivate da una classe MarshalByRefObject, devono consentire la gestione della sicurezza. Il codice deve essere utilizzato solo in ambienti chiusi in cui il codice chiamante può essere considerato attendibile; in alternativa, le chiamate eseguite in modalità remota devono essere progettate per evitare di rendere il codice soggetto a operazioni esterne potenzialmente dannose.
Evitare in genere di esporre metodi, proprietà o eventi che siano protetti da controlli di sicurezza dichiarativi LinkDemand e InheritanceDemand. Con i servizi remoti, questi controlli non sono applicati. Altri controlli di sicurezza, come Demand, Assert e così via, funzionano tra domini applicazione di un processo, ma non tra processi o computer.