Cómo configurar la construcción de objetos
En el procedimiento del siguiente ejemplo se describe cómo configurar la construcción de objetos y establecer la cadena de inicialización predeterminada de la clase TestObjectConstruct
en la cadena "Initial Catalog=Northwind;Data Source=.\\SQLServerInstance;Trusted_Connection=yes"
. Esta cadena se utiliza para conectar con una base de datos de SQL Server. El tema Construcción de objetos explica más ampliamente el uso de la construcción de objetos COM+ a partir de la clase ServicedComponent.
Para configurar la construcción de objetos y establecer la cadena de inicialización predeterminada de una clase
Defina una clase que se derive directa o indirectamente de la clase System.EnterpriseServices.ServicedComponent. Por ejemplo, en el siguiente código se muestra una clase
TestObjectConstruct
que se deriva directamente de la clase System.EnterpriseServices.ServicedComponent.Imports System.EnterpriseServices Imports System Imports System.Data Imports System.Data.SqlClient … Public Class TestObjectConstruct Inherits ServicedComponent … End Class
using System; using System.EnterpriseServices; using System.Data; using System.Data.SqlClient; … public class TestObjectConstruct : ServicedComponent { … }
Aplique el atributo ConstructionEnabledAttribute a la clase y establezca la propiedad Default del atributo. Por ejemplo, en el siguiente código se aplica el atributo ConstructionEnabledAttribute a la clase
TestObjectConstruct
y establece la propiedad Default en la cadena de conexión con la base de datos de SQL Server.<ConstructionEnabled([Default] := "Initial Catalog=Northwind;Data Source=.\\SQLServerInstance;Trusted_Connection=yes")> _ Public Class TestObjectConstruct … End Class
[ConstructionEnabled(Default="Initial Catalog=Northwind;Data Source=.\\SQLServerInstance;Trusted_Connection=yes")] public class TestObjectConstruct : ServicedComponent { … }
Reemplace el método Construct.
<ConstructionEnabled([Default] := "Initial Catalog=Northwind;Data Source=.\\SQLServerInstance;Trusted_Connection=yes")> _ Public Class TestObjectConstruct Inherits ServicedComponent Private m_connectStr As String Private conn as SqlConnection Protected Overrides Sub Construct(constructString As String) ' Called after constructor. m_connectStr = constructString End Sub Public Sub ConnectToDatabase() conn = New SqlConnection(m_connectStr) End Sub End Class
[C#] [ConstructionEnabled(Default="Initial Catalog=Northwind;Data Source=.\\SQLServerInstance;Trusted_Connection=yes")] public class TestObjectConstruct : ServicedComponent { private string connectStr; SqlConnection conn; public TestObjectConstruct() { … } protected override void Construct(string constructString) { // Called after constructor. connectStr = constructString; } public void ConnectToDatabase() { conn = new SqlConnection(connectStr); conn.Open(); } }
En la aplicación cliente, cree una instancia de la clase del componente sin especificar una cadena de construcción, de manera que se utilice la predeterminada. Por ejemplo, en el siguiente código se crea una instancia de la clase
TestObjectConstruct
y la cadena de construcción se establece de forma predeterminada en"Initial Catalog=Northwind;Data Source=.\\SQLServerInstance;Trusted_Connection=yes"
.Public Class App Overloads Public Shared Sub Main() Dim order As New TestObjectConstruct() order.ConnectToDatabase() End Sub End Class
public class App { public static void Main() { TestObjectConstruct order = new TestObjectConstruct(); order. ConnectToDatabase(); } }
Una vez instalada la aplicación de servicios de componentes, puede especificar cadenas de construcción mediante el uso de la herramienta administrativa Servicios de componentes. Para especificar una cadena de construcción de objetos para un componente, realice los siguientes pasos:
Abra la herramienta administrativa Servicios de componentes.
En la herramienta administrativa Servicios de componentes, haga clic con el botón secundario del mouse en el componente que desea configurar y, después, haga clic en Propiedades.
Si no se ha establecido el atributo ConstructionEnabled en True, en el cuadro de diálogo Propiedades, en la ficha Activación, active la casilla Habilitar construcción de objetos para habilitar el uso de la cadena de construcción de objetos.
Si desea cambiar la cadena de construcción del valor predeterminado especificado con el atributo ConstructionEnabled, en el campo Cadena del constructor, especifique la cadena de construcción.
Ejemplo
Imports System.EnterpriseServices
Imports System
Imports System.Data
Imports System.Data.SqlClient
<assembly: ApplicationName("OCDemo")>
Namespace OCDemo
<ConstructionEnabled([Default] := "Initial Catalog=Northwind;
Data Source=.\\SQLServerInstance;Trusted_Connection=yes")> _
Public Class TestObjectConstruct
Inherits ServicedComponent
Private m_connectStr As String
Private conn as SqlConnection
Protected Overrides Sub Construct(constructString As String)
' Called after constructor.
m_connectStr = constructString
End Sub
Public Sub ConnectToDatabase()
conn = New SqlConnection(m_connectStr)
End Sub
End Class
End Namespace
using System;
using System.EnterpriseServices;
using System.Data;
using System.Data.SqlClient;
[assembly : ApplicationName("OCDemo")]
namespace OCDemo
{
[ConstructionEnabled(Default="Initial Catalog=Northwind;
Data Source=.\\SQLServerInstance;Trusted_Connection=yes")]
public class TestObjectConstruct : ServicedComponent
{
private string connectStr;
SqlConnection conn;
public TestObjectConstruct()
{
…
}
protected override void Construct(string constructString)
{
// Called after constructor.
connectStr = constructString;
}
public void ConnectToDatabase()
{
conn = new SqlConnection(connectStr);
conn.Open();
}
}
}
Consulte también
Referencia
ConstructionEnabledAttribute
System.EnterpriseServices
Conceptos
Construcción de objetos
Resumen de los servicios COM+ disponibles
Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.