Classe BusinessLogicHandler
Represents the server registration for the managed code assembly that implements a business logic handler.
Hierarquia de herança
System.Object
Microsoft.SqlServer.Replication.BusinessLogicHandler
Namespace: Microsoft.SqlServer.Replication
Assembly: Microsoft.SqlServer.Rmo (em Microsoft.SqlServer.Rmo.dll)
Sintaxe
'Declaração
Public NotInheritable Class BusinessLogicHandler
'Uso
Dim instance As BusinessLogicHandler
public sealed class BusinessLogicHandler
public ref class BusinessLogicHandler sealed
[<SealedAttribute>]
type BusinessLogicHandler = class end
public final class BusinessLogicHandler
O tipo BusinessLogicHandler expõe os membros a seguir.
Construtores
Nome | Descrição | |
---|---|---|
BusinessLogicHandler | Initializes a new instance of the BusinessLogicHandler class. |
Início
Propriedades
Nome | Descrição | |
---|---|---|
DotNetAssemblyName | Gets or sets the name of the assembly that implements the business logic handler. | |
DotNetClassName | Gets or sets the name of the class that implements the business logic handler. | |
FriendlyName | Gets or sets the name that registers the business logic handler on the server. | |
IsDotNetAssembly | Gets or sets a value that indicates whether the registered business logic handler is a managed code assembly. | |
UserData | Gets or sets an object to which users can attach their own data. |
Início
Métodos
Nome | Descrição | |
---|---|---|
CheckValidDefinition | Infraestrutura. Indicates whether the definition is valid. | |
Equals | (Herdado de Object.) | |
GetHashCode | (Herdado de Object.) | |
GetType | (Herdado de Object.) | |
ToString | (Herdado de Object.) |
Início
Comentários
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.
Exemplos
// 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
Segurança de thread
Qualquer membro público static (Shared no Visual Basic) desse tipo é seguro para threads. Não há garantia de que qualquer membro de instância seja seguro para threads.
Consulte também
Referência
Namespace Microsoft.SqlServer.Replication
Outros recursos
Como implementar um manipulador de lógica de negócios para um artigo de mesclagem (Programação RMO)