Udostępnij za pośrednictwem


Klasa BusinessLogicHandler

Reprezentuje rejestracji serwera dla wirtualny plik dziennika kod zarządzany, który implementuje obsługa logika biznesowa.

Hierarchia dziedziczenia

System.Object
  Microsoft.SqlServer.Replication.BusinessLogicHandler

Przestrzeń nazw:  Microsoft.SqlServer.Replication
Zestaw:  Microsoft.SqlServer.Rmo (w Microsoft.SqlServer.Rmo.dll)

Składnia

'Deklaracja
Public NotInheritable Class BusinessLogicHandler
'Użycie
Dim instance As BusinessLogicHandler
public sealed class BusinessLogicHandler
public ref class BusinessLogicHandler sealed
[<SealedAttribute>]
type BusinessLogicHandler =  class end
public final class BusinessLogicHandler

Typ BusinessLogicHandler uwidacznia następujące elementy członkowskie.

Konstruktorzy

  Nazwa Opis
Metoda publiczna BusinessLogicHandler Inicjuje wystąpienie BusinessLogicHandler klasy

Do góry

Właściwości

  Nazwa Opis
Właściwość publiczna DotNetAssemblyName Pobiera lub ustawia nazwę wirtualny plik dziennika, który implementuje obsługa logika biznesowa.
Właściwość publiczna DotNetClassName Pobiera lub ustawia nazwę klasy, która implementuje obsługa logika biznesowa.
Właściwość publiczna FriendlyName Pobiera lub ustawia nazwę, która rejestruje obsługa logika biznesowa na serwerze.
Właściwość publiczna IsDotNetAssembly Określa, czy zarejestrowanych obsługa logika biznesowa jest wirtualny plik dziennika kod zarządzany.
Właściwość publiczna UserData Pobiera lub ustawia obiekt, do którego użytkownicy mogą dołączać własnych danych.

Do góry

Metody

  Nazwa Opis
Metoda publiczna CheckValidDefinition Infrastruktura.
Metoda publiczna Equals (Dziedziczony z Object).
Metoda chroniona Finalize (Dziedziczony z Object).
Metoda publiczna GetHashCode (Dziedziczony z Object).
Metoda publiczna GetType (Dziedziczony z Object).
Metoda chroniona MemberwiseClone (Dziedziczony z Object).
Metoda publiczna ToString (Dziedziczony z Object).

Do góry

Uwagi

Programy obsługi logiki biznesowej zostały zarejestrowane przez wywołanie RegisterBusinessLogicHandler.Właściwości BusinessLogicHandler obiekt musi być zestaw przed wywoływaniem RegisterBusinessLogicHandler.

Rejestracje obsługi logiki biznesowej są usuwane przez wywołanie UnregisterBusinessLogicHandler.

Wywołanie EnumBusinessLogicHandlers w celu uzyskania listy obsługi logika biznesowa zarejestrowanych na serwerze.

Przykłady

            // Specify the Distributor name and business logic properties.
            string distributorName = publisherInstance;
            string assemblyName = @"C:\Program Files\Microsoft SQL Server\100\COM\CustomLogic.dll";
            string className = "Microsoft.Samples.SqlServer.BusinessLogicHandler.OrderEntryBusinessLogicHandler";
            string friendlyName = "OrderEntryLogic";

            ReplicationServer distributor;
            BusinessLogicHandler customLogic;

                // Create a connection to the Distributor.
            ServerConnection distributorConn = new ServerConnection(distributorName);

            try
            {
                // Connect to the Distributor.
                distributorConn.Connect();

                // Set the Distributor properties.
                distributor = new ReplicationServer(distributorConn);

                // Set the business logic handler properties.
                customLogic = new BusinessLogicHandler();
                customLogic.DotNetAssemblyName = assemblyName;
                customLogic.DotNetClassName = className;
                customLogic.FriendlyName = friendlyName;
                customLogic.IsDotNetAssembly = true;

                Boolean isRegistered = false;

                // Check if the business logic handler is already registered at the Distributor.
                foreach (BusinessLogicHandler registeredLogic
                    in distributor.EnumBusinessLogicHandlers())
                {
                    if (registeredLogic == customLogic)
                    {
                        isRegistered = true;
                    }
                }

                // Register the custom logic.
                if (!isRegistered)
                {
                    distributor.RegisterBusinessLogicHandler(customLogic);
                }
            }
            catch (Exception ex)
            {
                // Do error handling here.
                throw new ApplicationException(string.Format(
                    "The {0} assembly could not be registered.",
                    assemblyName), ex);
            }
            finally
            {
                distributorConn.Disconnect();
            }
' Specify the Distributor name and business logic properties.
Dim distributorName As String = publisherInstance
Dim assemblyName As String = "C:\Program Files\Microsoft SQL Server\100\COM\CustomLogic.dll"
Dim className As String = "Microsoft.Samples.SqlServer.BusinessLogicHandler.OrderEntryBusinessLogicHandler"
Dim friendlyName As String = "OrderEntryLogic"

Dim distributor As ReplicationServer
Dim customLogic As BusinessLogicHandler

' Create a connection to the Distributor.
Dim distributorConn As ServerConnection = New ServerConnection(distributorName)

Try
    ' Connect to the Distributor.
    distributorConn.Connect()

    ' Set the Distributor properties.
    distributor = New ReplicationServer(distributorConn)

    ' Set the business logic handler properties.
    customLogic = New BusinessLogicHandler()
    customLogic.DotNetAssemblyName = assemblyName
    customLogic.DotNetClassName = className
    customLogic.FriendlyName = friendlyName
    customLogic.IsDotNetAssembly = True

    Dim isRegistered As Boolean = False

    ' Check if the business logic handler is already registered at the Distributor.
    For Each registeredLogic As BusinessLogicHandler _
    In distributor.EnumBusinessLogicHandlers
        If registeredLogic Is customLogic Then
            isRegistered = True
        End If
    Next

    ' Register the custom logic.
    If Not isRegistered Then
        distributor.RegisterBusinessLogicHandler(customLogic)
    End If
Catch ex As Exception
    ' Do error handling here.
    Throw New ApplicationException(String.Format( _
     "The {0} assembly could not be registered.", _
     assemblyName), ex)
Finally
    distributorConn.Disconnect()
End Try

Bezpieczeństwo wątków

Wszystkie publiczne statyczny (Shared w języku Visual Basic) elementy członkowskie tego typu są bezpieczne dla wątków. Nie ma gwarancji, że elementy członkowskie wystąpień będą bezpieczne dla wątków.