BusinessLogicHandler クラス
ビジネス ロジック ハンドラーを実装するマネージ コード アセンブリのサーバーへの登録内容を表します。
継承階層
System.Object
Microsoft.SqlServer.Replication.BusinessLogicHandler
名前空間: Microsoft.SqlServer.Replication
アセンブリ: Microsoft.SqlServer.Rmo (Microsoft.SqlServer.Rmo.dll)
構文
'宣言
Public NotInheritable Class BusinessLogicHandler
'使用
Dim instance As BusinessLogicHandler
public sealed class BusinessLogicHandler
public ref class BusinessLogicHandler sealed
[<SealedAttribute>]
type BusinessLogicHandler = class end
public final class BusinessLogicHandler
BusinessLogicHandler 型は、以下のメンバーを公開しています。
コンストラクター
名前 | 説明 | |
---|---|---|
BusinessLogicHandler | BusinessLogicHandler クラスの新しいインスタンスを初期化します。 |
先頭に戻る
プロパティ
名前 | 説明 | |
---|---|---|
DotNetAssemblyName | ビジネス ロジック ハンドラーを実装するアセンブリの名前を取得します。値の設定も可能です。 | |
DotNetClassName | ビジネス ロジック ハンドラーを実装するクラスの名前を取得します。値の設定も可能です。 | |
FriendlyName | サーバーにビジネス ロジック ハンドラーを登録する際の名前を取得します。値の設定も可能です。 | |
IsDotNetAssembly | 登録されているビジネス ロジック ハンドラーがマネージ コード アセンブリであるかどうかを示す値を取得または設定します。 | |
UserData | ユーザーが独自のデータをアタッチできるオブジェクトを取得します。値の設定も可能です。 |
先頭に戻る
メソッド
名前 | 説明 | |
---|---|---|
CheckValidDefinition | インフラストラクチャです。定義が有効かどうかを示します。 | |
Equals | (Object から継承されています。) | |
GetHashCode | (Object から継承されています。) | |
GetType | (Object から継承されています。) | |
ToString | (Object から継承されています。) |
先頭に戻る
説明
ビジネス ロジック ハンドラーは、RegisterBusinessLogicHandler を呼び出すことで登録されます。 RegisterBusinessLogicHandler を呼び出す前に、BusinessLogicHandler オブジェクトのプロパティを設定する必要があります。
ビジネス ロジック ハンドラーの登録は、UnregisterBusinessLogicHandler を呼び出すことで削除されます。
サーバーに登録されているビジネス ロジック ハンドラーの一覧を取得するには、EnumBusinessLogicHandlers を呼び出します。
使用例
// 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
スレッド セーフ
この型の public static (Visual Basic では Shared) のメンバーはすべて、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。
関連項目
参照
Microsoft.SqlServer.Replication 名前空間