Utilisation de l'exemple Subscriber Monitor

La solution Sales Orders Sample inclut deux projets supplémentaires, SubscriberMonitor et SubscriberMonitorUtility. Ensemble, ces projets utilisent la prise en charge du moniteur de réplication dans les objets RMO (Replication Management Objects) pour fournir les fonctionnalités permettant de surveiller l'état de l'abonnement sur l'Abonné local. L'assembly SubscriberMonitor.dll est accessible par d'autres applications qui s'exécutent sur l'Abonné et le programme SubscriberMonitorUtility.exe s'exécute directement pour afficher le projet Subscriber Monitor.

Utilisation de Subscriber Monitor

Pour générer et exécuter l'exemple Subscriber Monitor Utility

  1. Vérifiez que les exemples de réplication SQL Server sont installés. Pour plus d'informations, consultez Considérations relatives à l'installation d'exemples de bases de données et d'exemples de code SQL Server.

  2. Accédez à l'emplacement d'installation de l'exemple Subscriber Monitor. L'emplacement par défaut de cet exemple est C:\Program Files\Microsoft SQL Server\100\Samples\Replication\Merge\CS\SubscriberMonitorUtility.

  3. Ouvrez le fichier de la solution SubscriberMonitorUtility.sln dans Visual Studio.

  4. Générez la solution.

  5. Exécutez SubscriberMonitorUtility.exe à partir de l'emplacement de génération. L'emplacement de génération par défaut est \bin\debug.

  6. Dans la boîte de dialogue Select Subscription to Monitor, sélectionnez une instance de SQL Server dans la zone de liste déroulante Local Server Name.

  7. Sélectionnez un abonnement à contrôler dans la zone de liste déroulante Available Subscriptions.

  8. (Facultatif) Cliquez sur le bouton Edit pour modifier les propriétés d'abonnement.

  9. Cliquez sur Connect.

  10. Sélectionnez une session d'Agent de fusion dans l'arborescence Merge Sessions.

  11. (Facultatif) Cliquez sur le bouton Refresh pour actualiser la liste de sessions.

Pour appeler Subscriber Monitor par programmation

  1. Ouvrez le projet Visual Studio qui appellera Subscriber Monitor.

  2. Ajoutez une référence à l'assembly SubscriberMonitor.dll. Cet assembly est généré dans le cadre des solutions SubscriberMonitorUtility.sln ou SalesOrders.sln. Pour plus d'informations sur la génération de l'exemple Sales Orders, consultez Exemple Readme_Sales Orders pour la réplication de fusion.

  3. (Facultatif) Ajoutez une directive using (C#) ou instruction Imports (Visual Basic .NET) pour l'espace de noms Microsoft.Samples.SqlServer.

  4. Dans votre code, créez une instance de la classe SubscriberMonitor de l'une des manières suivantes :

    • en passant le nom de l'Abonné et un objet SubscriberSubscription qui représente l'abonnement à contrôler au paramètre subscription ;
    • en passant des valeurs dans le constructeur pour les paramètres suivants qui définissent un abonnement : subscriber, publication, publisher, publicationDb, subscriber et subscriptionDb.

Détails de l'implémentation

Subscriber Monitor est une application Windows Forms basée sur Microsoft Windows .NET Framework 2.0. Cette application démarre via l'exécution de SubscriberMonitorUtility.exe. Ce fichier exécutable crée une instance de la classe SubscriberMonitor, affiche une boîte de dialogue qui permet à un utilisateur de sélectionner l'abonnement à contrôler, puis affiche le Windows Form. La classe SubscriberMonitor peut également être instanciée à partir d'un exemple d'application. Deux méthodes de constructeur sont implémentées afin de vous permettre de passer des propriétés d'abonnement pendant la création du nouvel objet. Ces propriétés peuvent également être définies une fois que l'objet a été créé.

Lorsque le constructeur par défaut est utilisé, une boîte de dialogue s'affiche pour vous permettre de sélectionner l'instance de l'Abonné sur l'ordinateur local ainsi que l'abonnement à contrôler. La zone de liste déroulante Local Server Name est renseignée avec les noms d'instances disponibles renvoyés par la propriété ServerInstances. Lorsqu'une instance de serveur est sélectionnée, la zone de liste déroulante Available Subscriptions est renseignée avec les abonnements renvoyés par l'appel de la méthode EnumSubscriberSubscriptions.

L'exemple utilise la classe MergeSubscriberMonitor pour récupérer des informations d'abonnement auprès de l'Abonné et afficher ces informations dans le formulaire. Lorsque le formulaire se charge, la méthode GetSessionsSummary retourne un tableau d'objets MergeSessionSummary qui représentent jusqu'à cinq sessions précédentes de l'Agent de fusion. Le contrôle Merge Sessions TreeView est renseigné avec ces objets MergeSessionSummary. Lorsque vous sélectionnez l'une des sessions, les informations de synthèse qui la concernent s'affichent. En outre, le tableau d'objets MergeSessionDetail retourné par la méthode GetSessionDetails s'affiche dans le contrôle Articles processed in session ListView.

Pour plus d'informations sur l'utilisation de la programmation avec la classe MergeSubscriberMonitor, consultez Procédure : analyser la réplication par programmation (programmation RMO).

Voir aussi

Concepts

Exemples (réplication)

Aide et informations

Assistance sur SQL Server 2008