Unikaj nieobsługiwanych metod integracji dla programu Exchange

Oryginalny numer KB: 3086992

Wprowadzenie

W tym artykule opisano, w jaki sposób dział obsługi klienta i pomoc techniczna firmy Microsoft mogą pomóc deweloperom w opracowywaniu niestandardowych rozwiązań, które korzystają z różnych otwartych standardów, a także integrują się z Microsoft Exchange Server.

Więcej informacji

Ważne jest, aby używać obsługiwanych interfejsów API i metodologii podczas pisania kodu dla Exchange Server. Czasami deweloperzy próbują rozszerzyć zachowanie programu Exchange lub w inny sposób zintegrować aplikacje z Exchange Server przy użyciu nieobsługiwanej metodologii. Może to spowodować niestabilność programu Exchange i zachowanie w nieoczekiwany sposób.

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

  • Używanie personifikacji wątków względem programu Exchange przy użyciu interfejsów API, które nie obsługują personifikacji wątków.
  • Zmiana Outlook Web App (OWA), exchange web services (EWS), Exchange ActiveSync (EAS) lub podobnych strumieni na serwerze dostępu klienta (CAS).
  • Uruchamianie rozszerzenia lub modułu ISAPI w puli aplikacji programu Exchange.
  • Zmiana konta, na którym jest uruchamiana pula aplikacji programu Exchange.
  • Wstrzykiwanie bibliotek DLL do procesów programu Exchange w nieobsługiwany sposóbSerwerExchange używa określonych interfejsów i praktyk, dla których został zaprojektowany i przetestowany. Ponieważ te konkretne praktyki wprowadzają funkcje przy użyciu nieobsługiwanej metodologii, firma Microsoft uważa ten typ programowania za nieobsługiwany.

Gdy pomoc techniczna firmy Microsoft agenci znajdą aplikacje innych firm, które wydają się korzystać z jednej z wymienionych metodologii, najprawdopodobniej będą prosić o usunięcie aplikacji w celu sprawdzenia, czy problem zostanie odtworzony. Jeśli problem nie zostanie odtworzony po usunięciu aplikacji innej firmy, musisz skontaktować się z inżynierami pomocy technicznej dla tego produktu, aby rozwiązać problem.

Program Exchange sprawdza, czy kod nie wykonuje personifikacji wątków. Na przykład program Exchange może nagle zamknąć swój proces (FastFail). W takiej sytuacji zdarzenie 4999 jest rejestrowane w dzienniku zdarzeń programu Exchange. Zawiera on następujący tekst:

M.E.D.D.ConnectionPoolManager.BlockImpersonatedCallers

Interfejsy API, takie jak EWS, które umożliwiają personifikację przez inne aplikacje, mają mechanizmy personifikacji kont. Oprogramowanie zabezpieczające i oprogramowanie do logowania jednokrotnego to typowe przykłady aplikacji, które używają personifikacji wątków w celu zmiany poświadczeń podczas wywołań wysyłanych do programu Exchange.

Kod innej firmy uruchamiany w jednej aplikacji w ramach procesu puli procesów roboczych innej aplikacji może powodować problemy, chyba że aplikacje będą współdziałać ze sobą. Program Exchange nie zezwala na uruchamianie innych aplikacji w ramach procesów roboczych. Procesy puli aplikacji programu Exchange należą wyłącznie do programu Exchange i nie należy pod nimi uruchamiać kodu innej firmy. Może to spowodować konflikty z programem Exchange i może spowodować niepowodzenie procesów.

Niektórzy deweloperzy zmieniają konto, na którym działają części programu Exchange, aby uzyskać pewne funkcje, których w przeciwnym razie nie mieliby. Może to spowodować awarie serwera, uszkodzenie danych i inne nieoczekiwane problemy. Te problemy mogą wystąpić w dowolnym momencie procesu.

Istnieją obsługiwane sposoby integracji niestandardowych bibliotek DLL z programem Exchange, takich jak niestandardowi agenci transportu. Nie zalecamy używania metody, która nie jest obsługiwana przez programowanie programu Exchange. Na przykład wymuszone wstrzyknięcie biblioteki DLL jest nieobsługiwaną metodą ładowania niestandardowej biblioteki DLL do programu Exchange.

Ważne jest, aby unikać metod, które nie są obsługiwane, jeśli rozważasz opcję integracji aplikacji innych firm z programem Exchange. Tego rodzaju praktyka może później mieć poważne konsekwencje, takie jak utrata funkcjonalności lub konieczność ponownego zapisania aplikacji. W końcu możesz spotkać się z blokiem drogowym i nie masz drogi, w której możesz iść naprzód.