Svantaggi

I server in-process offrono la velocità e le dimensioni di un gestore oggetti con la funzionalità di modifica di un server locale. Perché è quindi consigliabile scegliere di implementare l'applicazione OLE come server locale anziché come server in-process? Esistono diversi motivi:

  • Sicurezza. Solo un server locale ha lo spazio di indirizzi isolato da quello del client. Un server in-process condivide lo spazio degli indirizzi e il contesto del processo del client e può quindi essere meno affidabile in caso di errori o programmazione dannosa.
  • Granularità. Un server locale può ospitare più istanze del relativo oggetto in molti client diversi, condividendo lo stato del server tra oggetti in più client in modi difficili o impossibili se implementati come server in-process, che è semplicemente una DLL caricata in ogni client.
  • Compatibilità. Se si sceglie di implementare un server in-process, si rinuncia alla compatibilità con OLE 1, che non supporta tali server. Questo non sarà una considerazione per molti sviluppatori, ma se è, allora è di fondamentale importanza.
  • Impossibilità di supportare i collegamenti. Un server in-process non può fungere da origine di collegamento. Poiché una DLL non può essere eseguita da sola, non può creare un oggetto file a cui essere collegato.

Nonostante questi svantaggi, un server in-process può essere una scelta eccellente per la velocità e le dimensioni, se soddisfa tutti gli altri requisiti.

Vantaggi

Server in-process