Freigeben über


Benachteiligungen

In-Process-Server bieten den Geschwindigkeits- und Größenvorteil eines Objekthandlers mit der Bearbeitungsfunktion eines lokalen Servers. Warum würden Sie ihre OLE-Anwendung also jemals als lokaler Server und nicht als In-Process-Server implementieren? Es gibt mehrere Gründe:

  • Sicherheit. Nur ein lokaler Server hat seinen Adressraum, der vom Client isoliert ist. Ein In-Process-Server teilt den Adressraum und den Prozesskontext des Clients und kann daher angesichts von Fehlern oder bösartiger Programmierung weniger robust sein.
  • Körnigkeit. Ein lokaler Server kann mehrere Instanzen seines Objekts auf vielen verschiedenen Clients hosten, wobei der Serverstatus zwischen Objekten in mehreren Clients so geteilt wird, dass dies schwierig oder unmöglich wäre, wenn es sich um einen In-Process-Server handelt, bei dem es sich einfach um eine DLL handelt, die in jeden Client geladen wird.
  • Kompatibilität. Wenn Sie sich für die Implementierung eines In-Process-Servers entscheiden, geben Sie die Kompatibilität mit OLE 1 an, die solche Server nicht unterstützt. Dies wird für viele Entwickler nicht berücksichtigt, aber wenn dies der Fall ist, ist es von entscheidender Bedeutung.
  • Unfähigkeit zur Unterstützung von Links. Ein In-Process-Server kann nicht als Linkquelle dienen. Da eine DLL nicht allein ausgeführt werden kann, kann kein Dateiobjekt erstellt werden, mit dem eine Verknüpfung erstellt werden kann.

Trotz dieser Nachteile kann ein In-Process-Server eine hervorragende Wahl für seine Geschwindigkeit und Größe sein – wenn er alle Ihre anderen Anforderungen erfüllt.

Vorteile

In-Process Server