次の方法で共有


BusinessLogicHandler クラス

定義

ビジネス ロジック ハンドラーを実装するマネージド コード アセンブリのサーバーへの登録内容を表します。

public ref class BusinessLogicHandler sealed
public sealed class BusinessLogicHandler
type BusinessLogicHandler = class
Public NotInheritable Class BusinessLogicHandler
継承
BusinessLogicHandler

// Specify the Distributor name and business logic properties.
string distributorName = publisherInstance;
string assemblyName = @"C:\Program Files\Microsoft SQL Server\110\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\110\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

注釈

ビジネス ロジック ハンドラーは、RegisterBusinessLogicHandler を呼び出すことで登録されます。 BusinessLogicHandler を呼び出す前に、RegisterBusinessLogicHandler オブジェクトのプロパティを設定する必要があります。

ビジネス ロジック ハンドラーの登録は、UnregisterBusinessLogicHandler を呼び出すことで削除されます。

サーバーに登録されているビジネス ロジック ハンドラーの一覧を取得するには、EnumBusinessLogicHandlers を呼び出します。

コンストラクター

BusinessLogicHandler()

BusinessLogicHandler クラスの新しいインスタンスを初期化します。

プロパティ

DotNetAssemblyName

ビジネス ロジック ハンドラーを実装するアセンブリの名前を取得します。値の設定も可能です。

DotNetClassName

ビジネス ロジック ハンドラーを実装するクラスの名前を取得します。値の設定も可能です。

FriendlyName

サーバーにビジネス ロジック ハンドラーを登録する際の名前を取得します。値の設定も可能です。

IsDotNetAssembly

登録されているビジネス ロジック ハンドラーがマネージド コード アセンブリであるかどうかを示す値を取得または設定します。

UserData

ユーザーが独自のデータを添付できるオブジェクトを取得または設定します。

メソッド

CheckValidDefinition(Boolean)

定義が有効かどうかを示します。

適用対象

こちらもご覧ください