如何:偵錯商務邏輯處理常式 (複寫程式設計)

使用商務邏輯處理常式,以便在同步處理合併訂閱期間叫用自訂商務邏輯。如需詳細資訊,請參閱<在合併同步處理期間執行商務邏輯>。

合併式複寫重新調整器 (replrec.dll) 會呼叫包含此商務邏輯的 Managed 程式碼組件。在大部分情況下,會在合併代理程式執行所在的電腦上執行 replrec.dll 和自訂商務邏輯 (如果是提取訂閱,會在訂閱者上;如果是發送訂閱,則會在散發者上)。如果是 Web 同步處理的情況或 SQL Server Compact 3.5 SP1 訂閱者的情況,會在 Web 伺服器上執行此調整器和自訂商務邏輯。

在本機電腦上偵錯商務邏輯處理常式

  1. 設定發行和散發、建立發行集,以及建立發行集的訂閱。如需詳細資訊,請參閱<設定、修改及停用發行與散發 (複寫)>和<建立、修改及刪除發行集和發行項 (複寫)>。

  2. 建立及註冊商務邏輯處理常式。如需詳細資訊,請參閱<如何:為合併發行項實作商務邏輯處理常式 (RMO 複寫程式設計)>。

  3. 在以程式設計方式同步啟動合併代理程式的 Microsoft Visual Studio 中,建立「複寫管理物件」(RMO) 專案。如需詳細資訊,請參閱<如何:同步處理提取訂閱 (RMO 程式設計)>。

  4. 在商務邏輯處理常式程式碼中設定中斷點 (在所偵錯的方法中或是類別建構函式中)。如需有關可以在商務邏輯處理常式中實作之方法的詳細資訊,請參閱 BusinessLogicModule 方法主題。

  5. 在偵錯模式下建立此商務邏輯處理常式,並在步驟 1 註冊的位置中部署此組件和偵錯符號檔 (.pdb)。

    [!附註]

    若要簡化偵錯,請建立一個同時包含商務邏輯處理常式專案和同步處理訂閱之專案的 Visual Studio .NET 方案。在此情況下,請將同步處理專案設定為啟始專案,並設定建立環境,將商務邏輯組件部署到步驟 1 偵錯時所註冊的位置中。

  6. 針對訂閱或發行集資料庫執行插入、更新或刪除命令。此命令和執行位置取決於所偵錯的方法而定。

  7. 在偵錯模式下從步驟 3 啟動此專案,以同步處理訂閱。

  8. 假設未設定任何其他中斷點,而且複寫了適當的命令,則當到達商務邏輯處理常式中的中斷點時,會停止執行。

使用 Web 同步處理在 Web 伺服器上偵錯商務邏輯處理常式,或是針對 SQL Server Compact 訂閱者進行偵錯

  1. 設定發行和散發、建立發行集,以及建立發行集的提取訂閱。此發行集必須支援 Web 同步處理或 SQL Server Compact 3.5 SP1 訂閱者。如需詳細資訊,請參閱<設計和實作:逐步解說 (複寫)>或<Replication and RDA Tasks (SQL Server Compact)>。

  2. 建立及註冊商務邏輯處理常式。如需詳細資訊,請參閱<如何:為合併發行項實作商務邏輯處理常式 (RMO 複寫程式設計)>。

  3. 在商務邏輯處理常式程式碼中設定中斷點 (在所偵錯的方法中或是類別建構函式中)。如需有關可以在商務邏輯處理常式中實作之方法的詳細資訊,請參閱 BusinessLogicModule 方法主題。

  4. 在偵錯模式下建立此商務邏輯處理常式,並在步驟 1 註冊的位置中,於 Web 伺服器上部署此組件和偵錯符號檔 (.pdb)。

    [!附註]

    如果因為此組件在使用中而導致無法建立商務邏輯處理常式,請在此 Web 伺服器的命令提示字元上輸入 iisreset 命令,以重設 Web 伺服器。

  5. 在啟用 Web 同步處理的情況下同步處理訂閱。在同步處理期間,Web 伺服器會載入註冊的組件。

  6. 使用 Visual Studio .NET 偵錯工具,附加到 Web 伺服器上的下列其中一個處理序:

    • w3wp.exe - Windows Server 2003。

    • inetinfo.exe - Windows 2000 和 Windows XP。

  7. [輸出] 視窗中,檢查偵錯輸出,以確認註冊之組件的符號已正確載入。如果未載入符號,請確定步驟 4 中是否複製了正確的 .pdb 檔案,並重複步驟 5。

  8. 針對訂閱或發行集資料庫執行插入、更新或刪除命令。此命令和執行位置取決於所偵錯的方法而定。

  9. 使用 Visual Studio 偵錯工具,附加到 w3wp.exe 處理序。

  10. 使用 Web 同步處理再次同步處理訂閱。

  11. 假設未設定任何其他中斷點,而且複寫了適當的命令,則當到達商務邏輯處理常式中的中斷點時,會停止執行。