Compartilhar via


Executar lógica de negócios durante a sincronização de mesclagem

A estrutura do manipulador de lógica de negócios permite que você escreva um assembly de código gerenciado que é chamado durante o processo de sincronização de mesclagem. O assembly inclui lógica de negócios que pode responder a várias condições durante a sincronização: alterações de dados, conflitos e erros. A estrutura do manipulador de lógica de negócios fornece um modelo de programação simples e os dados que o processo de mesclagem fornece ao seu assembly estão na forma de um conjunto de dados ADO.NET, para que você possa aproveitar o conhecimento de ADO.NET em vez de aprender uma interface proprietária. Para obter mais informações sobre manipuladores de lógica de negócios de programação, consulte:

Usos para manipuladores lógicos de negócios

O processo de sincronização de mesclagem pode invocar manipuladores lógicos de negócios para executar:

  • Manipulação de alterações personalizadas

  • Resolução de conflitos personalizada

  • Resolução de erros personalizada

Observação

O manipulador de lógica de negócios que você especificar será executado para cada linha que for sincronizada. A lógica complexa e as chamadas para outros aplicativos ou serviços de rede podem comprometer o desempenho.

Tratamento personalizado de alterações

O manipulador de lógica de negócios pode ser invocado durante o processamento de alterações de dados não conflitantes e pode executar uma das três ações:

  • Rejeitar os dados

    Isso é útil para aplicativos que não desejam alterações propagadas para ou de um determinado Assinante. Por exemplo, um administrador pode filtrar inserções que não pertencem à partição do Assinante ou possivelmente rejeitar exclusões executadas em um Assinante. Como outro exemplo, um aplicativo pode rejeitar um pedido inserido em um Assinante porque o inventário não está mais disponível.

  • Aceitar os dados

    Isso é útil para aplicativos nos quais é necessário examinar as alterações de dados feitas no Publicador ou no Assinante antes de permitir que elas sejam propagadas. Por exemplo, um aplicativo de camada intermediária pode examinar novos pedidos provenientes do campo e integrar-se a um processo de fluxo de trabalho de aquisição na camada intermediária.

  • Aplicar dados personalizados

    Isso é útil para aplicativos que precisam substituir valores ou operações de dados específicos. Por exemplo, um aplicativo pode transformar uma exclusão de linha em uma atualização especial que define uma coluna de status na linha como um valor "excluído" e, em seguida, rastreia a identidade do cliente que executa a exclusão. Isso pode ser útil para fins de auditoria ou fluxo de trabalho.

Resolução personalizada de conflitos

A replicação de mesclagem fornece detecção e resolução de conflitos, permitindo que você aceite uma estratégia padrão ou escolha uma resolução personalizada para os conflitos. Para obter mais informações, consulte Detecção e resolução de conflitos de replicação de mesclagem avançada. O manipulador de lógica de negócios pode ser invocado durante o processamento de alterações de dados conflitantes e pode executar uma das duas ações:

  • Aceitar resolução padrão

    Isso é útil para aplicativos que talvez precisem examinar o conflito, executar ações adicionais e, possivelmente, registrar uma mensagem de log de conflitos personalizada.

  • Executar resolução personalizada

    Isso é útil para aplicativos que talvez precisem selecionar valores de dados específicos para sua lógica de negócios e forneçam o processo de sincronização com esse conjunto de dados personalizado. Por exemplo, um aplicativo pode fornecer uma nova versão da linha vencedora combinando valores dos conjuntos de dados do Publicador e do Assinante.

Resolução de erros personalizada

A lógica personalizada pode ser invocada durante a propagação de alterações que resultam em erros. A lógica pode executar uma das duas ações:

  • Aceitar resolução de erros padrão

    Isso é útil para aplicativos que talvez precisem examinar o erro e executar ações adicionais e, possivelmente, registrar uma mensagem de log de erros personalizada.

  • Aceitar resolução de erros personalizada

    Isso é útil para aplicativos que talvez precisem selecionar valores de dados específicos para sua lógica de negócios e forneçam o processo de sincronização com esse conjunto de dados personalizado. Por exemplo, se o processo de replicação encontrar uma violação de chave duplicada, o manipulador de lógica de negócios poderá fornecer uma nova versão da alteração de dados na qual a chave não entrará mais em conflito. As alterações feitas no Publicador e no Assinante podem persistir no banco de dados e o processo de replicação não precisa compensar a inserção com falha com uma exclusão.

Cenários de implantação para manipuladores lógicos de negócios

Os manipuladores de lógica de negócios podem ser implantados em:

  • O Distribuidor. Use uma assinatura push para que a lógica de negócios seja executada no Distribuidor.

  • O Assinante. Use uma assinatura pull para que a lógica de negócios seja executada no Assinante.

  • Um servidor do IIS (Serviços de Informações da Internet) se a sincronização da Web for usada. Use uma assinatura pull sincronizada com a sincronização da Web e o manipulador de lógica de negócios será executado no Servidor IIS.

Consulte Também

Replicação de mesclagem
Assinar publicações
Sincronizar dados
Sincronização da Web para Replicação de Mesclagem