避免 Exchange 不支援的整合方法

原始 KB 編號:  3086992

簡介

本文說明 Microsoft 客戶服務和支援可如何協助開發人員產生使用各種開放標準的自訂解決方案,也可與 Microsoft Exchange Server 整合。

詳細資訊

當您撰寫 Exchange Server 的程式碼時,使用支援的 APIs 和方法很重要。 在某些情況下,開發人員可能會嘗試使用某些不支援的方法,來增加 Exchange 的行為或將應用程式與 Exchange 伺服器整合的方式。 這可能會導致 Exchange 變得不穩定,而且會以意想不到的方式行為。

Microsoft 不支援下列做法:

  • 使用不明確支援執行緒模擬的 APIs,對 Exchange 使用執行緒模擬。
  • 在用戶端存取伺服器上,變更 Outlook Web App (OWA) 、Exchange Web 服務 (EWS) 、Exchange ActiveSync (EAS) 或類似的資料流程 (CA) 。
  • 在 Exchange 應用程式集區中執行 ISAPI 分機或模組。
  • 變更 Exchange 應用程式集區執行所在的帳戶。
  • 在不支援的 mannerExchange 伺服器中,將 Dll 注入 Exchange 處理常式會使用其設計及測試的特定介面及慣例。 因為這些特定做法使用不受支援的方法來引入功能,所以 Microsoft 認為這類開發不受支援。

當 Microsoft 支援工程師找到似乎使用其中一個所列方法的協力廠商應用程式時,他們最有可能會要求您移除該應用程式,以檢查問題是否再現。 如果問題沒有在移除協力廠商應用程式後再現,您必須聯繫該產品的支援工程師,以解決問題。

Exchange 已經檢查,以防止程式碼執行執行緒類比。 例如,Exchange 可以突然關閉其進程 (FastFail) 。 在此情況下,事件4999會記錄在 Exchange 事件記錄檔中。 它包含下列文字:

BlockImpersonatedCallers (ConnectionPoolManager)。

例如,允許其他應用程式模仿的 APIs (如 EWS)具有模仿帳戶本身的機制。 [!注意] 安全性軟體和單一登入軟體是使用執行緒模擬來變更傳送至 Exchange 之通話之認證的應用程式的常見範例。

在另一個應用程式的 worker 集區進程下,在一個應用程式中執行的協力廠商程式碼可能會導致問題,除非這些應用程式已進行其他作業。 Exchange 不允許其他應用程式在其工作流程下執行。 Exchange 應用程式集區處理常式僅屬於 Exchange,而您不應該在其下執行協力廠商程式碼。 這樣做可能會與 Exchange 產生衝突,並可能導致處理常式失敗。

有些開發人員會變更 Exchange 工作各部分所用的帳戶,以取得某些其他功能。 這可能會造成伺服器損毀、資料損毀及其他意外問題。 在程式中的任何點都可能會發生這些問題。

支援將自訂 Dll 與 Exchange 整合的方式,例如自訂的傳輸代理程式。 我們不建議使用 Exchange 開發不支援的方法。 例如,強制注入 DLL 是不受支援的方法,可將自訂 DLL 載入至 Exchange。

請務必避免使用將協力廠商應用程式與 Exchange 整合的選項時不支援的方法。 這種做法稍後可能會發生嚴重的結果,例如遺失功能或需要重新寫入應用程式。 結束時,您可能會符合某一路標,而且沒有路徑可以繼續向前移動。