Share via


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

  1. 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
    {
       …
    }
    
  2. 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
    {
        …
    }
    
  3. 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();
         }
    }
    
  4. 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:

  1. Abra la herramienta administrativa Servicios de componentes.

  2. 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.

  3. 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.

  4. 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.