共用方式為


針對 COM+ CRM 進行疑難解答

以下是開發和使用 COM+ CRM 時最常遇到的問題:

  • 事件記錄檔訊息。 如果CRM伺服器應用程式發生嚴重的內部錯誤,它將會失敗(終止CRM伺服器應用程式進程),並將訊息寫入Windows事件記錄檔。 如果遇到任何問題,請參閱事件記錄檔。

  • CRM 補償器的例外狀況。 CRM 基礎結構會建立CRM補償器,並傳遞CRM背景工作角色所寫入的交易結果通知和記錄檔記錄。 如果CRM Compensator傳回錯誤或擲回例外狀況,則CRM基礎結構會攔截該錯誤並造成失敗。 事件記錄檔中的訊息表示從CRM Compensator 收到例外狀況。 您可以強制忽略這些例外狀況。 (請參閱COM+ CRM 登錄 設定。CRM 補償器中的例外狀況很可能是特定 CRM 補償器元件中的問題,而不是 CRM 基礎結構本身的問題。

  • 復原追蹤。 復原追蹤對於判斷復原期間的問題非常有用。 如需啟用復原追蹤的相關信息,請參閱 COM+ CRM 登錄 設定

  • 嘗試以未啟用CRM執行。 將CRM背景工作角色和CRM補償器元件放入 COM+ 伺服器應用程式並不夠。 使用 COM+ 應用程式屬性頁的 [進階] 索引標籤上的 [啟用補償資源管理員] 選項,必須特別啟用特定 COM+ 伺服器應用程式的 CRM 支援。 (請參閱 設定 COM+ CRM 元件 以取得詳細資訊。如果嘗試在未啟用CRM的伺服器應用程式內使用CRM,則會將錯誤碼傳回給CRM背景工作角色。

  • 嘗試在客戶端進程中執行CRM。 CRM 不會在用戶端進程中執行;它們必須在 COM+ 伺服器應用程式程式中執行。 CRM 元件可以放在連結庫套件中,供多個 COM+ 伺服器應用程式使用,但不適用於客戶端進程。 嘗試在客戶端進程內使用CRM介面,會將錯誤碼傳回給CRM背景工作角色。

  • 進行中的復原。 當 CRM 伺服器應用程式啟動時,復原就會啟動。 不過,復原會在CRM伺服器應用程式的正常處理期間於背景進行。 CRM 背景工作角色可以在復原完成之前建立。 在復原成功完成之前,無法在CRM伺服器應用程式程式中使用CRM。 在此情況下,CRM 背景工作角色會在嘗試註冊 CRM 補償器時收到「進行中復原」錯誤碼。 CRM 背景工作角色應該輪詢或其他延遲,直到復原完成為止。 復原時間專屬於特定類型的CRM,設計CRM時應考慮此情況。 不需要長時間的復原。

  • CRM 記錄檔的安全性。 如果拒絕存取CRM記錄檔,請參閱 COM+ CRM 安全性考慮 ,以取得CRM記錄檔上安全性設定方式的描述。

  • 不確定的交易。 在罕見的情況下,DTC 交易可能會進入懷疑狀態;也就是說,DTC 無法判斷交易結果。 在這些情況下,在復原期間,CRM 會在 CRM 記錄檔中維護該交易的記錄檔。 當 DTC 解決不確定的交易時,執行另一個 CRM 復原會完成交易。

  • 建立和發行CRM補償器。 CRM 背景工作角色第一次註冊 CRM Compensator 時,其是由 CRM 基礎結構所建立,並查詢以判斷其支援的 CRM 補償器介面。 然後,它立即釋放。 CRM 補償器必須支援建立和發行的能力,而不需要進行任何介入的方法呼叫。 如果無法正確建立CRM Compensator,可能是因為 COM註冊不正確,或如果它不支援至少一個正確的CRM Compensator 介面,則會將錯誤碼傳回給CRM背景工作角色。

COM+ 補償 Resource Manager 概念