Dela via


Nackdelar

Processerver ger hastighet och storleksfördel för en objekthanterare med redigeringsfunktionen för en lokal server. Så varför skulle du någonsin välja att implementera ditt OLE-program som en lokal server i stället för en pågående server? Det finns flera orsaker:

  • Säkerhet. Endast en lokal server har sitt adressutrymme isolerat från klientens adressutrymme. En processbaserad server delar klientens adressutrymme och processkontext och kan därför vara mindre robust när det gäller fel eller skadlig programmering.
  • Granularitet. En lokal server kan vara värd för flera instanser av objektet på många olika klienter, och dela servertillstånd mellan objekt på flera klienter på ett sätt som skulle vara svårt eller omöjligt om det implementerades som en pågående server, vilket helt enkelt är en DLL som läses in i varje klient.
  • Kompatibilitet. Om du väljer att implementera en processerver avstår du från kompatibilitet med OLE 1, som inte stöder sådana servrar. Detta kommer inte att vara ett övervägande för många utvecklare, men om det är det är det av avgörande betydelse.
  • Det går inte att stödja länkar. En pågående server kan inte fungera som länkkälla. Eftersom en DLL inte kan köras av sig själv kan den inte skapa ett filobjekt som ska länkas till.

Trots dessa nackdelar kan en processserver vara ett utmärkt val för dess hastighet och storlek – om den passar alla dina andra krav.

Fördelar

In-Process servrar