Unikanie nieobsługiwanych metod integracji programu Exchange

Oryginalny numer artykułu KB:   3086992

Wprowadzenie

W tym artykule opisano, jak dział obsługi klienta firmy Microsoft może ułatwić programistom tworzenie rozwiązań niestandardowych, które korzystają z różnych standardów otwartych i które są zintegrowane z programem Microsoft Exchange Server.

Więcej informacji

Po napisaniu kodu programu Exchange Server należy pamiętać o stosowaniu obsługiwanych interfejsów API i metodologii. Czasami deweloperzy próbują rozszerzyć działanie programu Exchange lub w inny sposób zintegrować aplikacje z programem Exchange Server, korzystając z niektórych nieobsługiwanych metodologii. Może to spowodować niestabilność i zachowanie się programu Exchange w nieoczekiwany sposób.

Następujące praktyki nie są obsługiwane przez firmę Microsoft:

  • Używanie funkcji personifikacji wątków wobec programu Exchange przy użyciu interfejsów API, które nie obsługują personifikacji wątków.
  • Zmienianie aplikacji Outlook Web App (OWA), usług sieci Web programu Exchange (EWS), Exchange ActiveSync (EAS) lub podobnych strumieni na serwerze dostępu klienta (CAS).
  • Uruchamianie rozszerzenia ISAPI lub modułu w puli aplikacji programu Exchange.
  • Zmienianie konta, na którym jest uruchomiona Pula aplikacji programu Exchange.
  • Iniekcja bibliotek DLL do procesów programu Exchange na nieobsługiwanym serwerze mannerExchange korzysta z określonych interfejsów i metod, dla których jest projektowane i testowane. Ponieważ te szczególne metody wprowadzają funkcje przy użyciu nieobsługiwanej metodologii, firma Microsoft uważa, że ten typ rozwoju jest nieobsługiwany.

Pracownicy pomocy technicznej firmy Microsoft mogą znaleźć aplikacje innych firm, które pozornie wykorzystują jednej z wymienionych metod, będą w najprawdopodobniej poprosić Cię o usunięcie aplikacji w celu sprawdzenia, czy problem został odutworzony. Jeśli problem nie będzie odtwarzany po usunięciu aplikacji innej firmy, należy skontaktować się z inżynierami pomocy technicznej dla tego produktu, aby rozwiązać ten problem.

Program Exchange sprawdzi, czy nie można zablokować kodu przed wykonaniem personifikacji wątków. Na przykład program Exchange może zamknąć niespodziewanie proces (FastFail). W takiej sytuacji zdarzenie 4999 jest rejestrowane w dzienniku zdarzeń programu Exchange. Zawiera następujący tekst:

M. E. D. D. ConnectionPoolManager. BlockImpersonatedCallers

Interfejsy API, takie jak EWS, które zezwalają na personifikację przez inne aplikacje, mają mechanizmy umożliwiające personifikowanie kont. Oprogramowanie zabezpieczające i oprogramowanie do logowania jednokrotnego to typowe przykłady aplikacji, które używają funkcji personifikacji wątków do zmieniania poświadczeń dotyczących połączeń wysyłanych do programu Exchange.

Kod innych firm, które są uruchamiane w jednej aplikacji w ramach procesu puli procesów roboczych innej aplikacji, mogą powodować problemy, chyba że aplikacje będą współpracować ze sobą. Program Exchange nie umożliwia uruchamiania innych aplikacji w ramach procesów roboczych. Procesy puli aplikacji programu Exchange należą wyłącznie do programu Exchange i nie należy uruchamiać kodu innej firmy. Może to powodować konflikty z programem Exchange i powodować niepowodzenie procesów.

Niektóre projektanci zmieniają konto, w ramach którego działają części programu Exchange w celu uzyskania funkcji, których nie mogą mieć w przeciwnym razie. Może to powodować awarie serwera, uszkodzenie danych oraz inne nieoczekiwane problemy. Te problemy mogą wystąpić w dowolnym momencie procesu.

Istnieją obsługiwane sposoby integrowania niestandardowych bibliotek DLL z programem Exchange, na przykład niestandardowych agentów transportu. Nie zalecamy korzystania z metody, która nie jest obsługiwana przez program Exchange Development. Na przykład wymuszona iniekcja biblioteki DLL to nieobsługiwana Metoda ładowania niestandardowej biblioteki DLL do programu Exchange.

Ważne jest, aby uniknąć metod, które nie są obsługiwane w przypadku, gdy użytkownik przyjmie opcję zintegrowania aplikacji innych firm z programem Exchange. W tym rodzaju praktyce mogą być później, na przykład utracone, lub trzeba ponownie napisać aplikację. Na końcu możesz spotkać się ze blokiem drogi i nie ma ścieżki, w której można przechodzić do przodu.