Partager via


Inconvénients

Les serveurs in-process offrent l’avantage de vitesse et de taille d’un gestionnaire d’objets avec la fonctionnalité d’édition d’un serveur local. Pourquoi choisiriez-vous d’implémenter votre application OLE en tant que serveur local plutôt qu’en tant que serveur in-process ? Il existe plusieurs raisons :

  • Sécurité. Seul un serveur local a son espace d’adressage isolé de celui du client. Un serveur in-process partage l’espace d’adressage et le contexte de processus du client et peut donc être moins robuste en cas d’erreurs ou de programmation malveillante.
  • Granularité. Un serveur local peut héberger plusieurs instances de son objet sur de nombreux clients différents, en partageant l’état du serveur entre les objets de plusieurs clients d’une manière qui serait difficile ou impossible s’il était implémenté en tant que serveur in-process, qui est simplement une DLL chargée dans chaque client.
  • Compatibilité. Si vous choisissez d’implémenter un serveur in-process, vous abandonnez la compatibilité avec OLE 1, qui ne prend pas en charge ces serveurs. Cela ne sera pas un facteur à prendre en compte pour de nombreux développeurs, mais si c’est le cas, il est d’une préoccupation critique.
  • Impossibilité de prendre en charge les liens. Un serveur in-process ne peut pas servir de source de lien. Étant donné qu’une DLL ne peut pas s’exécuter par elle-même, elle ne peut pas créer un objet fichier auquel être lié.

Malgré ces inconvénients, un serveur in-process peut être un excellent choix pour sa vitesse et sa taille, s’il répond à toutes vos autres exigences.

Avantages

Serveurs in-process