Debug di un gestore della logica di business (programmazione della replica)
Si applica a: SQL Server
Utilizzare un gestore della logica di business per richiamare logica di business personalizzata quando viene sincronizzata una sottoscrizione di tipo merge. Per altre informazioni, vedere Eseguire logiche di business durante la sincronizzazione di tipo merge.
Il Riconciliatore replica di tipo merge (replrec.dll) chiama l'assembly del codice gestito contenente la logica di business. Nella maggior parte dei casi, replrec.dll e la logica di business personalizzata vengono eseguiti nello stesso computer dell'agente di merge, ovvero nel Sottoscrittore per una sottoscrizione pull o nel server di distribuzione per una sottoscrizione push. Nel caso della sincronizzazione Web, o nel caso di un SQL Server Compact Subscriber, il risolutore delle differenze e la logica di business personalizzata vengono eseguiti nel server Web.
Per eseguire il debug di un gestore della logica di business in un computer locale
Configurare la pubblicazione e la distribuzione, creare una pubblicazione, quindi creare una sottoscrizione della pubblicazione. Per altre informazioni, vedere Configurare la pubblicazione e la distribuzione e Creare una pubblicazione.
Creare e registrare un gestore della logica di business. Per altre informazioni, vedere Implementare un gestore della logica di business per un articolo di merge.
Creare un progetto RMO (Replication Management Objects) in Microsoft Visual Studio che avvia a livello di programmazione l'agente di merge in modo sincrono. Per altre informazioni, vedere Sincronizzazione di una sottoscrizione pull.
Impostare un punto di interruzione nel codice del gestore della logica di business, in particolare nel metodo sottoposto a debug o nel costruttore della classe. Per ulteriori informazioni sui metodi che è possibile implementare in un gestore della logica di business, vedere gli argomenti relativi ai metodi degli oggetti BusinessLogicModule .
Compilare il gestore della logica di business in modalità debug e distribuire il file di simboli (pdb) del debug e dell'assembly nel percorso registrato nel passaggio 1.
Nota
Per semplificare il debug, creare una singola soluzione di Visual Studio .NET che contiene sia il progetto di gestore della logica di business che il progetto per la sincronizzazione della sottoscrizione. In questo caso, impostare il progetto di sincronizzazione come progetto di avvio e configurare l'ambiente di compilazione per la distribuzione dell'assembly della logica di business nel percorso registrato nel passaggio 1 durante il debug.
Eseguire comandi di inserimento, aggiornamento o eliminazione sul database di sottoscrizione o pubblicazione. Il comando e il percorso di esecuzione dipendono dal metodo da sottoporre a debug.
Avviare il progetto dal passaggio 3 in modalità debug per sincronizzare la sottoscrizione.
Presupponendo che non siano stati impostati altri punti di interruzione e che vengano replicati i comandi appropriati, l'esecuzione si arresta quando raggiunge il punto di interruzione nel gestore della logica di business.
Per eseguire il debug di un gestore della logica di business in un server Web utilizzando la sincronizzazione tramite il Web oppure per un Sottoscrittore di SQL Server Compact
Configurare la pubblicazione e la distribuzione, creare una pubblicazione, quindi creare una sottoscrizione pull della pubblicazione. La pubblicazione deve supportare la sincronizzazione Web o i SQL Server Compact Subscribers.
Creare e registrare un gestore della logica di business. Per altre informazioni, vedere Implementare un gestore della logica di business per un articolo di merge.
Impostare un punto di interruzione nel codice del gestore della logica di business, in particolare nel metodo sottoposto a debug o nel costruttore della classe. Per ulteriori informazioni sui metodi che è possibile implementare in un gestore della logica di business, vedere gli argomenti relativi ai metodi degli oggetti BusinessLogicModule .
Compilare il gestore della logica di business in modalità debug e distribuire il file di simboli (pdb) del debug e dell'assembly nel server Web nel percorso registrato nel passaggio 1.
Nota
Se è impossibile compilare il gestore della logica di business perché l'assembly è in uso, digitare il comando
iisreset
al prompt dei comandi del server Web per reimpostare il server Web.Sincronizzare la sottoscrizione con la sincronizzazione tramite il Web abilitata. Durante la sincronizzazione, il server Web carica l'assembly registrato.
Utilizzando il debugger Visual Studio .NET, collegarsi a uno dei processi seguenti nel server Web:
w3wp.exe - Windows Server 2003.
inetinfo.exe - Windows 2000 e Windows XP.
Nella finestra Output controllare l'output di debug per verificare che i simboli per l'assembly registrato siano stati caricati correttamente. Se i simboli non sono stati caricati, assicurarsi che nel passaggio 4 sia stato copiato il file con estensione pbd corretto, quindi ripetere il passaggio 5.
Eseguire comandi di inserimento, aggiornamento o eliminazione sul database di sottoscrizione o pubblicazione. Il comando e il percorso di esecuzione dipendono dal metodo da sottoporre a debug.
Utilizzando il debugger di Visual Studio, collegarsi al processo w3wp.exe.
Sincronizzare nuovamente la sottoscrizione utilizzando la sincronizzazione tramite il Web.
Presupponendo che non siano stati impostati altri punti di interruzione e che vengano replicati i comandi appropriati, l'esecuzione si arresta quando raggiunge il punto di interruzione nel gestore della logica di business.