Udostępnij przez


Wady

Serwery przetwarzania zapewniają szybkość i rozmiar programu obsługi obiektów z możliwością edycji serwera lokalnego. Dlaczego więc kiedykolwiek zdecydujesz się zaimplementować aplikację OLE jako serwer lokalny, a nie serwer przetwarzania? Istnieje kilka powodów:

  • Bezpieczeństwo. Tylko serwer lokalny ma przestrzeń adresową odizolowaną od tego klienta. Serwer przetwarzania współudzieli przestrzeń adresową i kontekst procesu klienta i dlatego może być mniej niezawodny w obliczu błędów lub złośliwego programowania.
  • Ziarnistość. Serwer lokalny może hostować wiele wystąpień jego obiektu na wielu różnych klientach, współużytkowanie stanu serwera między obiektami na wielu klientach w sposób, który byłby trudny lub niemożliwy, jeśli został zaimplementowany jako serwer przetwarzania, który jest po prostu biblioteką DLL załadowaną do każdego klienta.
  • Zgodność. Jeśli zdecydujesz się zaimplementować serwer przetwarzania, zrezygnowasz ze zgodności z ole 1, który nie obsługuje takich serwerów. Nie będzie to istotne dla wielu deweloperów, ale jeśli tak jest, to jest to krytyczne znaczenie.
  • Brak możliwości obsługi linków. Serwer w procesie nie może służyć jako źródło łącza. Ponieważ biblioteka DLL nie może być uruchamiana samodzielnie, nie może utworzyć obiektu pliku, z który ma być połączony.

Pomimo tych wad serwer w przetwarzaniu może być doskonałym wyborem dla jego szybkości i rozmiaru — jeśli spełnia wszystkie inne wymagania.

zalety

serwerówIn-Process