Udostępnij za pośrednictwem


Jak Wdrożenie obsługa logika biznesowa artykuł korespondencji seryjnej (Programowanie replikacja)

The Microsoft.SqlServer.Replication.BusinessLogicSupport namespace implements an interfejs that enables you to write complex logika biznesowa to handle events that occur during the merge replikacja synchronization process. Metody obsługa logika biznesowa mogą być wywoływane przez proces replikacja dla każdego wiersza zmienionych, który jest replikowany podczas synchronizacji.

Ogólny proces stosowania programu obsługa logika biznesowa jest:

  1. Tworzenie wirtualny plik dziennika hander logika biznesowa.

  2. Zarejestrować modułu u dystrybutor.

  3. wdrożyć wirtualny plik dziennika na serwerze, na którym uruchomiony jest Agent korespondencji seryjnej.Aby subskrypcja wciągana agent jest uruchamiany na subskrybenta i subskrypcja wypychanej agent jest uruchamiany na dystrybutor.Podczas korzystania z synchronizacja w sieci Web, agent jest uruchamiany na serwerze sieci Web.

  4. Tworzenie artykułu, który korzysta z programu obsługa logika biznesowa lub modyfikowanie istniejących artykuł do użyć obsługa logika biznesowa.

Program obsługa logika biznesowa określony jest wykonywany dla każdego wiersza, który jest synchronizowany.Złożone logikę i wywołań do innych aplikacji lub usług sieciowych może obniżyć wydajność.Aby uzyskać więcej informacji na temat obsługi logika biznesowa zobacz Wykonywanie logika biznesowa podczas synchronizowania korespondencji seryjnej.

Tworzenie wdrożyć programu obsługa logika biznesowa

  1. W Microsoft Program Visual Studio, tworzenie nowego projektu do wirtualny plik dziennika .NET to zawiera kod, który implementuje obsługa logika biznesowa.

  2. Dodawanie odwołania do projektu w następujących obszarach nazw.

    Odwołanie do wirtualny plik dziennika

    Lokalizacja

    Microsoft.SqlServer.Replication.BusinessLogicSupport

    C:\Program Files\Microsoft SQL Server\100\COM (instalacji domyślnej)

    System.Data

    Pamięci podręcznej GAC (składnik platformy .NET Framework)

    System.Data.Common

    Pamięci podręcznej GAC (składnik platformy .NET Framework)

  3. Add class, który zastępuje BusinessLogicModule Klasa.

  4. Wdrożenie HandledChangeStates() Właściwość, aby wskazać typy zmian, które są obsługiwane.

  5. Zastępowanie jednego lub więcej z następujących metod BusinessLogicModule klasy:

    • CommitHandler(SourceIdentifier, Guid) -wywoływana, gdy zmiana danych jest popełnione podczas synchronizacji.

    • DeleteErrorHandler(SourceIdentifier, DataSet, ErrorLogType%, String%, Int32, String, Int32%, String%) -wywoływana, gdy wystąpi błąd, gdy Instrukcja DELETE jest przekazywania lub pobierania.

    • DeleteHandler(SourceIdentifier, DataSet, Int32%, String%) -wywoływana, gdy są instrukcji DELETE przekazywania lub pobierania.

    • InsertErrorHandler(SourceIdentifier, DataSet, ErrorLogType%, String%, Int32, String, Int32%, String%) -wywoływana, gdy wystąpi błąd, gdy instrukcja INSERT jest przekazywania lub pobierania.

    • InsertHandler(SourceIdentifier, DataSet, DataSet%, Int32%, String%) -wywoływana, gdy są instrukcji INSERT przekazywania lub pobierania.

    • UpdateConflictsHandler(DataSet, DataSet, DataSet%, ConflictLogType%, String%, Int32%, String%) -wywoływana, gdy sprzeczne instrukcji UPDATE występują Wydawca i subskrybent.

    • UpdateDeleteConflictHandler(SourceIdentifier, DataSet, DataSet%, ConflictLogType%, String%, Int32%, String%) -wywoływana, gdy instrukcji UPDATE wchodzą w konflikt z instrukcji DELETE Wydawca i subskrybent.

    • UpdateErrorHandler(SourceIdentifier, DataSet, ErrorLogType%, String%, Int32, String, Int32%, String%) -wywoływana, gdy wystąpi błąd, gdy instrukcja UPDATE jest przekazywania lub pobierania.

    • UpdateHandler(SourceIdentifier, DataSet, DataSet%, Int32%, String%) -wywoływana, gdy są instrukcji UPDATE przekazywania lub pobierania.

  6. Skompiluj projekt w celu utworzenia wirtualny plik dziennika programu obsługa logika biznesowa.

  7. wdrożyć wirtualny plik dziennika w katalogu, w którym znajduje się plik wykonywalny w korespondencji seryjnej Agent (replmerg.exe), który domyślnej instalacji jest C:\Program Files\Microsoft SQL Server\100\Model COM, lub zainstaluj go w Global wirtualny plik dziennika Cache .NET (GAC). wirtualny plik dziennika należy instalować w pamięci podręcznej GAC tylko, jeśli aplikacje inne niż Agent Scal wymagają dostępu do wirtualny plik dziennika.Można zainstalować wirtualny plik dziennika w pamięci podręcznej GAC, korzystanie z pamięci podręcznej zestawów globalnych (narzędzieGacutil.exe) pod warunkiem że w programie .NET Framework SDK.

    Uwaga

    Obsługa logika biznesowa należy wdrożyć na każdym serwerze, na którym jest uruchomiony agent korespondencji seryjnej, która zawiera serwer IIS, obsługującym replisapi.dll podczas korzystania z synchronizacja w sieci Web.

Aby zarejestrować programu obsługa logika biznesowa

  1. Wydawca wykonać sp_enumcustomresolvers (Transact-SQL) Aby sprawdzić, czy wirtualny plik dziennika nie został już zarejestrowany jako programu obsługa logika biznesowa.

  2. Na dystrybutor wykonać sp_registercustomresolver (Transact-SQL), określający przyjazną nazwę dla obsługa logika biznesowa @ article_resolver, wartość true dla @ is_dotnet_assembly, nazwa wirtualny plik dziennika dla @ dotnet_assembly_namei w pełni kwalifikowaną nazwę klasy, która zastępuje BusinessLogicModule dla @ dotnet_class_name.

    Uwaga

    Jeśli zespół nie został wdrożony w tym samym katalogu co wykonywalne, w tym samym katalogu co aplikacja agenta korespondencji seryjnej, uruchamia synchronicznie Agent korespondencji seryjnej, lub w Global wirtualny plik dziennika Cache (GAC), trzeba podać pełną ścieżka z nazwą wirtualny plik dziennika dla @ dotnet_assembly_name.W przypadku korzystania z synchronizacja w sieci Web, należy określić lokalizację wirtualny plik dziennika na serwerze sieci Web.

Aby używać programu obsługa logika biznesowa z nowego artykuł tabela

Używanie programu obsługa logika biznesowa z artykuł istniejącej tabela

Example

W tym przykładzie przedstawiono obsługa logika biznesowa, która tworzy dziennik inspekcji.

W poniższym przykładzie rejestruje wirtualny plik dziennika programu obsługa logika biznesowa u dystrybutor i zmienia się istniejące artykuł korespondencji seryjnej do używania tego niestandardowe reguły biznesowe.