共用方式為


開發 COM+ CRM 的設計建議

以下是開發 COM+ CRM 的建議步驟:

  1. 開始開發之前,請將交易逾時設定為零(使用元件服務系統管理工具)。 設定VTRACE1登錄旗標(請參閱 COM+ CRM 登錄 設定),以查看偵錯追蹤上的 CRM 警告和錯誤訊息。
  2. 判斷您需要使用的一組介面、結構化 (Variants) 或非結構化。 (請參閱 COM+ CRM 介面。)這取決於您用來開發 CRM 的語言,例如 Microsoft Visual C++ 或 Microsoft Visual Basic。
  3. 先開發CRM背景工作角色。 判斷記錄檔記錄中所需的資訊。 定義所需的記錄類型及其格式。
  4. 偵錯 CRM 補償器會作為 CRM 範例的一部分提供(在 Windows SDK 中)。 在偵錯 CRM 背景工作角色以取代真正的 CRM 補償器時,可以暫時使用。
  5. 當CRM背景工作正常運作時,請開發實際的CRM補償器,並將偵錯CRM補償器取代為實際的CRM補償器。
  6. 一開始可能不需要測試復原案例。 如果是,請在啟動該 CRM 伺服器應用程式之前,每次刪除 CRM 伺服器應用程式的 CRM 記錄檔。

考量

  1. 提前撰寫。 CRM 背景工作元件必須事先寫入;也就是說,它必須寫入記錄檔記錄,指出它將在實際執行該動作之前執行動作。 此外,此記錄檔記錄必須在寫入之後強制至磁碟,而且在執行動作之前。
  2. 隔離性。 CRM 不會強制執行隔離。 CRM 設計必須在個別交易上提供多個客戶端之間的隔離,而且也必須考慮復原前的情況。
  3. 進行中的復原。 CRM 背景工作角色必須處理「進行中復原」錯誤碼。 如需此錯誤碼的詳細資訊,請參閱 針對 COM+ CRM 進行疑難解答。
  4. 錯誤處理。 CRM 背景工作角色必須應付交易早於預期中止的情況。 請參閱 COM+ CRM 中的錯誤處理一節
  5. 復原時間。 CRM 補償器應設計為快速執行復原,讓該 CRM 伺服器應用程式的新工作不需要等候。
  6. 等冪。 CRM 補償器可能會再次收到相同的記錄檔記錄,以復原或取消復原已復原或取消復原的動作。 CRM 補償器可能執行的動作必須是等冪的,這通常表示應該忽略從這些動作傳回的錯誤碼。
  7. 開始復原。 當CRM伺服器應用程式啟動時,就會執行CRM伺服器應用程式的復原。 不過,沒有自動啟動CRM伺服器應用程式。 應用程式開發人員應該考慮如何起始啟動和復原。

COM+ 補償 Resource Manager 概念