使用訂閱者監視器範例
銷售訂單範例方案包含兩個額外的專案:訂閱者監視器與 SubscriberMonitorUtility。這兩個專案一起使用「複寫管理物件 (RMO)」中的複寫監視器支援,提供在本機訂閱者監視訂閱狀態的功能。SubscriberMonitor.dll 組件可由在訂閱者執行的其他應用程式存取,而 SubscriberMonitorUtility.exe 程式會直接執行以顯示訂閱者監視器。
使用訂閱者監視器
建立並執行訂閱者監視器公用程式範例
請確認已安裝 SQL Server 覆寫範例。如需詳細資訊,請參閱<安裝 SQL Server 範例和範例資料庫的考量>。
導覽到訂閱者監視器範例的安裝位置。這個範例的預設位置為 C:\Program Files\Microsoft SQL Server\100\Samples\Replication\Merge\CS\SubscriberMonitorUtility。
在 Visual Studio 中開啟 SubscriberMonitorUtility.sln 方案檔案。
建立方案。
從建立位置執行 SubscriberMonitorUtility.exe。預設的建立位置為 \bin\debug。
在 [選取要監視的訂閱] 對話方塊中,從 [本機伺服器名稱] 下拉式方塊選擇 SQL Server 執行個體。
從 [可用的訂閱] 下拉式清單方塊中選取要監視的訂閱。
(選擇性) 按一下 [編輯] 按鈕,以變更訂閱屬性。
按一下 [連接]。
從 [合併工作階段] 樹狀檢視選取 [合併代理程式] 工作階段。
(選擇性) 按一下 [重新整理] 按鈕,以重新整理工作階段清單。
以程式設計方式叫用訂閱者監視器
開啟將會叫用訂閱者監視器的 Visual Studio 專案。
將參考加入至 SubscriberMonitor.dll 組件。此組件會當做 SubscriberMonitorUtility.sln 或 SalesOrders.sln 方案的一部分建立。如需有關建立銷售訂單範例的詳細資訊,請參閱<讀我檔案_銷售訂單合併式複寫範例>。
(選擇性) 加入 Microsoft.Samples.SqlServer 命名空間的 using 指示詞 (C#) 或 Imports 陳述式 (Visual Basic .NET)。
在您的程式碼中,以下列其中一種方式,建立 SubscriberMonitor 類別的執行個體:
- 將訂閱者名稱以及代表要監視之訂閱的 SubscriberSubscription 物件傳遞到 subscription 參數。
- 將值傳遞到定義訂閱之下列參數的建構函式:subscriber、publication、publisher、publicationDb、subscriber 與 subscriptionDb。
實作細節
訂閱者監視器是一個以 Microsoft Windows .NET Framework 2.0 為基礎的 Windows Forms 應用程式。該應用程式會藉由執行 SubscriberMonitorUtility.exe 來啟動。這個可執行檔會建立 SubscriberMonitor 類別的執行個體、顯示可讓使用者選取要監視之訂閱的對話方塊,然後顯示 Windows Form。SubscriberMonitor 類別也可以從範例應用程式具現化。實作兩個建構函式方法可讓您在建立新物件期間傳遞訂閱屬性。但在建立物件後,也可以設定這些屬性。
使用預設的建構函式時,會顯示一個對話方塊,讓您在本機電腦上選取訂閱者執行個體與要監視的訂閱。[本機伺服器名稱] 下拉式清單方塊會以 ServerInstances 屬性傳回的可用執行個體名稱填入。選定伺服器執行個體時,[可用的訂閱] 下拉式清單方塊會以呼叫 EnumSubscriberSubscriptions 方法所傳回的訂閱填入。
此範例會使用 MergeSubscriberMonitor 類別擷取訂閱者的訂閱資訊,並在表單中顯示這個資訊。當表單載入時,GetSessionsSummary 方法會傳回 MergeSessionSummary 物件的陣列,這些物件最多可表示前五個合併代理程式工作階段。[合併工作階段] TreeView 控制項會以這些 MergeSessionSummary 物件填入。當您選取其中一個工作階段時,會顯示關於該工作階段的摘要資訊。同時,由 GetSessionDetails 方法傳回之 MergeSessionDetail 物件的陣列會顯示在 [在工作階段中處理的發行項] ListView 控制項中。
如需有關搭配 MergeSubscriberMonitor 類別使用程式設計的詳細資訊,請參閱<如何:以程式設計方式監視複寫 (RMO 程式設計)>。