BusinessLogicHandler Class
SQL Server 2008
Represents the server registration for the managed code assembly that implements a business logic handler.
Assembly: Microsoft.SqlServer.Rmo (in Microsoft.SqlServer.Rmo.dll)
Business logic handlers are registered by calling RegisterBusinessLogicHandler. The properties of the BusinessLogicHandler object must be set before calling RegisterBusinessLogicHandler.
Business logic handler registrations are removed by calling UnregisterBusinessLogicHandler.
Call EnumBusinessLogicHandlers to get a list of business logic handlers that are registered on a server.
// 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
