Como depurar um manipulador de lógica de negócios (Programação de replicação)
Use um manipulador de lógica de negócios para invocar a lógica de negócios personalizada quando uma assinatura de mesclagem for sincronizada. Para obter mais informações, consulte Executando lógica comercial durante sincronizações de mesclagem.
O Reconciliador de replicação de mesclagem (replrec.dll) chama o assembly de código gerenciado que contém a lógica comercial. Na maior parte dos casos, o replrec.dll e a lógica comercial personalizada são executados no computador em que o Merge Agent é executado (no Assinante para a assinatura pull ou no Distribuidor da assinatura push). Com relação à sincronização da Web ou a um Assinante SQL Server Compact 3.5 SP2, o reconciliador e a lógica comercial personalizada são executados no servidor Web.
Para depurar um manipulador de lógica de negócios em um computador local
Configure a publicação e a distribuição, crie uma publicação e crie uma assinatura para a publicação. Para obter mais informações, consulte Configurando, modificando e desabilitando publicação e distribuição (Replicação) e Criando, modificando e excluindo publicações e artigos (replicação).
Crie e registre um manipulador de lógica de negócios. Para obter mais informações, consulte Como implementar um manipulador de lógica de negócios para um artigo de mesclagem (Programação RMO).
Crie um projeto RMO (Replication Management Objects) no Microsoft Visual Studio, que iniciará o Merge Agent em sincronia, programaticamente. Para obter mais informações, consulte Como sincronizar uma assinatura pull (Programação RMO).
Defina um ponto de interrupção no código do manipulador de lógica de negócios, tanto no método sendo depurado como no construtor da classe. Para obter mais informações sobre os métodos que podem ser implementados no manipulador de lógica de negócios, consulte o tópico dos métodos BusinessLogicModule.
Crie o manipulador de lógica de negócios no modo de depuração e implante o assembly e o arquivo de símbolo de depuração (.pdb) no local registrado na Etapa 1.
Observação Para simplificar a depuração, crie uma solução única de Visual Studio .NET que contenha ambos o projeto do manipulador de lógica de negócios e o projeto que sincroniza a assinatura. Nesse caso, defina o projeto de sincronização como projeto de inicialização e configure o ambiente de compilação para implantar o assembly da lógica comercial no local registrado na Etapa 1, durante a depuração.
Execute a inserção, atualize ou exclua comandos segundo a assinatura ou banco de dados de publicação. O comando e o local da execução dependem do método que é depurado.
Inicie o projeto na Etapa 3, em modo de depuração, para sincronizar a assinatura.
Supondo que nenhum outro ponto de interrupção esteja definido e que os comandos tenham sido replicados, a execução pára quando alcança o ponto de interrupção do manipulador de lógica de negócios.
Para depurar um manipulador de lógica de negócios em um servidor Web usando a sincronização da Web ou para um assinante do SQL Server Compact
Configure a publicação e a distribuição, crie uma publicação e crie uma assinatura pull para a publicação. A publicação deve oferecer suporte para sincronização da Web ou Assinantes SQL Server Compact 3.5 SP2. Para obter mais informações, consulte Projetando e implementando: passo a passo (Replicação) ou Replication and RDA Tasks (SQL Server Compact).
Crie e registre um manipulador de lógica de negócios. Para obter mais informações, consulte Como implementar um manipulador de lógica de negócios para um artigo de mesclagem (Programação RMO).
Defina um ponto de interrupção no código do manipulador de lógica de negócios, tanto no método sendo depurado como no construtor da classe. Para obter mais informações sobre os métodos que podem ser implementados no manipulador de lógica de negócios, consulte o tópico dos métodos BusinessLogicModule.
Crie o manipulador de lógica de negócios no modo de depuração e implante o assembly e o arquivo de símbolo de depuração (.pdb) no local registrado na Etapa 1.
Observação Se o manipulador de lógica de negócios falhar em criar por causa do assembly que está em uso, digite o comando iisreset no servidor Web, no prompt de comando do servidor Web.
Sincronize a assinatura com sincronização da Web ativada. Durante a sincronização, o servidor Web carrega o assembly registrado.
Usando o depurador do Visual Studio .NET, anexe a um dos processos seguintes no servidor Web:
w3wp.exe - Windows Server 2003.
inetinfo.exe - Windows 2000 e Windows XP.
Na janela de Saída, verifique a saída da depuração para confirmar se os símbolos do assembly registrado foram carregados corretamente. Se os símbolos não estiverem carregados, confirme se o arquivo .pdb correto foi copiado na Etapa 4, e repita a Etapa 5.
Execute a inserção, atualize ou exclua comandos de acordo com a assinatura ou banco de dados de publicação. O comando e o local da execução dependem do método que é depurado.
Usando o depurador do Visual Studio, anexe ao processo w3wp.exe.
Sincronize a assinatura novamente usando a sincronização da Web.
Supondo que nenhum outro ponto de interrupção esteja definido e que os comandos tenham sido replicados, a execução pára quando alcança o ponto de interrupção do manipulador de lógica de negócios.