Déboguer un gestionnaire de logique métier (programmation de la réplication)
S'applique à : SQL Server
Utilisez un gestionnaire de logique métier pour appeler une logique métier personnalisée lorsqu'un abonnement de fusion est synchronisé. Pour plus d’informations, consultez Exécuter la logique métier lors de la synchronisation de fusion.
Le réconciliateur de réplication de fusion (replrec.dll) appelle l'assembly de code managé qui contient la logique métier. Dans la plupart des cas, replrec.dll et la logique métier personnalisée sont exécutés sur l'ordinateur où s'exécute l'Agent de fusion (sur l'Abonné pour un abonnement par extraction ou sur le serveur de distribution pour un abonnement par émission de données). Dans le cas de la synchronisation Web ou dans le cas d'un Abonné SQL Server Compact, le réconciliateur et la logique métier personnalisée sont exécutés sur le serveur Web.
Pour déboguer un gestionnaire de logique métier sur un ordinateur local
Configurez la publication et la distribution, créez une publication et créez un abonnement à la publication. Pour plus d’informations, consultez Configurer la publication et la distribution et Créer une Publication.
Créez et inscrivez un gestionnaire de logique métier. Pour plus d’informations, voir Implémenter un gestionnaire de logique métier pour un article de fusion.
Créez un projet Replication Management Objects dans Microsoft Visual Studio qui démarre par programme l'Agent de fusion de façon synchrone. Pour plus d’informations, consultez Synchroniser un abonnement par extraction (pull).
Définissez un point d'arrêt dans le code du gestionnaire de logique métier, soit dans la méthode en cours de débogage, soit dans le constructeur de classe. Pour plus d'informations sur les méthodes qui peuvent être implémentées dans un gestionnaire de logique métier, consultez la rubrique sur les méthodes BusinessLogicModule .
Construisez le gestionnaire de logique métier en mode débogage et déployez l'assembly et le fichier de symboles de débogage (.pdb) dans l'emplacement inscrit à l'étape 1.
Remarque
Pour simplifier le débogage, créez une solution Visual Studio .NET unique qui contient à la fois le projet de gestionnaire de logique métier et le projet qui synchronise l'abonnement. Dans ce cas, définissez le projet de synchronisation comme projet de démarrage et configurez l'environnement de génération pour déployer l'assembly de logique métier dans l'emplacement inscrit à l'étape 1 au cours du débogage.
Exécutez des commandes d'insertion, de mise à jour ou de suppression sur la base de données d'abonnement ou de publication. L'emplacement de commande et d'exécution dépend de la méthode faisant l'objet du débogage.
Démarrez le projet créé à l'étape 3 en mode débogage pour synchroniser l'abonnement.
En supposant qu'aucun autre point d'arrêt n'est défini et que les commandes correctes sont répliquées, l'exécution s'arrête lorsqu'elle atteint le point d'arrêt dans le gestionnaire de logique métier.
Pour déboguer un gestionnaire de logique métier sur un serveur Web à l'aide de la synchronisation Web ou pour un abonné SQL Server Compact
Configurez la publication et la distribution, créez une publication et créez un abonnement par extraction à la publication. La publication doit prendre en charge la synchronisation Web ou les Abonnés SQL Server Compact.
Créez et inscrivez un gestionnaire de logique métier. Pour plus d’informations, voir Implémenter un gestionnaire de logique métier pour un article de fusion.
Définissez un point d'arrêt dans le code du gestionnaire de logique métier, soit dans la méthode en cours de débogage, soit dans le constructeur de classe. Pour plus d'informations sur les méthodes qui peuvent être implémentées dans un gestionnaire de logique métier, consultez la rubrique sur les méthodes BusinessLogicModule .
Construisez le gestionnaire de logique métier en mode débogage et déployez l'assembly et le fichier de symboles de débogage (.pdb) sur le serveur Web, dans l'emplacement inscrit à l'étape 1.
Remarque
Si la création du gestionnaire de logique métier échoue car l'assembly est en cours d'utilisation, tapez la commande
iisreset
sur le serveur Web à l'invite de commandes pour réinitialiser le serveur Web.Synchronisez l'abonnement avec la synchronisation Web activée. Pendant la synchronisation, le serveur Web charge l'assembly inscrit.
À l'aide du débogueur Visual Studio .NET, attachez à l'un des processus suivants sur le serveur Web :
w3wp.exe – Windows Server 2003.
inetinfo.exe – Windows 2000 et Windows XP.
Dans la fenêtre Sortie , examinez la sortie de débogage pour vérifier que les symboles pour l'assembly inscrit ont été chargés correctement. Si les symboles n'ont pas été chargés, assurez-vous que le fichier .pdb correct a été copié à l'étape 4 et répétez l'étape 5.
Exécutez des commandes d'insertion, de mise à jour ou de suppression sur la base de données d'abonnement ou de publication. L'emplacement de commande et d'exécution dépend de la méthode faisant l'objet du débogage.
À l'aide du débogueur Visual Studio, attachez au processus w3wp.exe.
Synchronisez de nouveau l'abonnement, à l'aide de la synchronisation Web.
En supposant qu'aucun autre point d'arrêt n'est défini et que les commandes correctes sont répliquées, l'exécution s'arrête lorsqu'elle atteint le point d'arrêt dans le gestionnaire de logique métier.