Vyhněte se nepodporovaným metodám integrace pro Exchange

Původní číslo KB: 3086992

Úvod

Tento článek popisuje, jak může oddělení služeb zákazníkům a podpory společnosti Microsoft pomoct vývojářům vytvářet vlastní řešení, která používají různé otevřené standardy a která se také integrují s Microsoft Exchange Server.

Další informace

Při psaní kódu pro Exchange Server je důležité používat podporovaná rozhraní API a metodologie. Někdy se vývojáři snaží rozšířit chování Exchange nebo jinak integrovat aplikace s Exchange Server pomocí některé nepodporované metodologie. To může způsobit, že se Exchange stane nestabilním a bude se chovat neočekávaným způsobem.

Microsoft nepodporuje následující postupy:

  • Použití zosobnění vláken v Systému Exchange pomocí rozhraní API, která zosobnění vláken výslovně nepodporují.
  • Změna Outlook Web App (OWA), exchange webových služeb (EWS), protokol Exchange ActiveSync (EAS) nebo podobných datových proudů na serveru klientského přístupu (CAS).
  • Spuštění rozšíření ISAPI nebo modulu ve fondu aplikací Exchange
  • Změna účtu, pod kterým běží fond aplikací Exchange.
  • Vkládání knihoven DLL do procesů Exchange nepodporovaným způsobemExchange Server používá specifická rozhraní a postupy, pro které je navržený a otestovaný. Vzhledem k tomu, že tyto konkrétní postupy zavádějí funkce pomocí nepodporované metodologie, Považuje Microsoft tento typ vývoje za nepodporovaný.

Když agenti podpora Microsoftu najdou aplikace třetích stran, které zdánlivě používají některou z uvedených metodologií, s největší pravděpodobností vás požádají, abyste aplikaci odebrali a zkontrolovali, jestli se problém opakuje. Pokud se problém po odebrání aplikace třetí strany nereprodukuje, budete muset kontaktovat pracovníky podpory pro daný produkt, aby problém vyřešili.

Exchange má kontroly, které brání kódu v zosobnění vláken. Exchange může například náhle vypnout svůj proces (FastFail). V takovém případě je v protokolu událostí Exchange zaznamenána událost 4999. Obsahuje následující text:

M.E.D.D.ConnectionPoolManager.BlockImpersonatedCallers

Rozhraní API, jako je EWS, která umožňují zosobnění jinými aplikacemi, mají mechanismy pro zosobnění samotných účtů. Bezpečnostní software a software pro jednotné přihlašování jsou běžnými příklady aplikací, které používají zosobnění vláken ke změně přihlašovacích údajů při voláních odesílaných na Exchange.

Kód třetí strany, který se spouští v jedné aplikaci v rámci procesu fondu pracovních procesů jiné aplikace, může způsobit problémy, pokud nejsou aplikace vytvořené tak, aby vzájemně spolupracovaly. Exchange neumožňuje spouštění jiných aplikací v rámci svých pracovních procesů. Procesy fondu aplikací Exchange patří výhradně serveru Exchange a neměli byste v nich spouštět kód třetí strany. To může způsobit konflikty se serverem Exchange a může způsobit selhání procesů.

Někteří vývojáři změní účet, pod kterým fungují části Exchange, aby získali určité funkce, které by jinak neměli. To může způsobit chybové ukončení serveru, poškození dat a další neočekávané problémy. K těmto problémům může dojít v jakémkoli okamžiku procesu.

Existují podporované způsoby integrace vlastních knihoven DLL se serverem Exchange, jako jsou například vlastní agenti přenosu. Nedoporučujeme používat metodu, která není podporována vývojem exchange. Například vynucená injektáž knihovny DLL je nepodporovanou metodou načtení vlastní knihovny DLL do serveru Exchange.

Je důležité, abyste se vyhnuli metodám, které nejsou podporovány, když zvažujete možnost integrace aplikací třetích stran se systémem Exchange. Tento druh praxe může mít později závažné důsledky, jako je ztráta funkčnosti nebo potřeba přepsat aplikaci. Nakonec můžete narazit na silniční blok a nebudete mít žádnou cestu, ve které byste se mohli pohybovat vpřed.