Condividi tramite


Procedura: configurare la costruzione di oggetti

Nella procedura e nell'esempio seguenti viene illustrato come configurare la costruzione di oggetti e impostare la stringa di inizializzazione predefinita della classe TestObjectConstruct sulla stringa "Initial Catalog=Northwind;Data Source=.\\SQLServerInstance;Trusted_Connection=yes". Questa stringa consente di eseguire la connessione a un database SQL Server. Nell'argomento Costruzione di oggetti viene illustrato l'utilizzo della costruzione di oggetti COM+ dalla classe ServicedComponent.

Per configurare la costruzione di oggetti e impostare la stringa di inizializzazione predefinita per una classe

  1. Definire una classe che deriva direttamente o indirettamente dalla classe System.EnterpriseServices.ServicedComponent. Nel codice seguente, ad esempio, viene illustrata una classe TestObjectConstruct che deriva direttamente dalla classe 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. Applicare l'attributo ConstructionEnabledAttribute alla classe e impostare la proprietà Default dell'attributo. Nel codice seguente, ad esempio, viene applicato l'attributo ConstructionEnabledAttribute alla classe TestObjectConstruct e la proprietà Default viene impostata sulla stringa di connessione a 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. Eseguire l'override del metodo 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. Nell'applicazione client, creare un'istanza della classe Component senza specificare una stringa di costruzione, in modo che venga utilizzata la stringa predefinita. Nel codice seguente, ad esempio, viene creata un'istanza della classe TestObjectConstruct e impostata"Initial Catalog=Northwind;Data Source=.\\SQLServerInstance;Trusted_Connection=yes" come stringa di costruzione predefinita.

    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();
          }
    }
    

Dopo aver installato l'applicazione dei servizi componenti, è possibile specificare le stringhe di costruzione utilizzando lo strumento di amministrazione Servizi componenti. Per specificare una stringa di costruzione di oggetti per un componente, effettuare la procedura seguente:

  1. Aprire lo strumento di amministrazione Servizi componenti.

  2. Nello strumento di amministrazione Servizi componenti, fare clic con il pulsante destro del mouse sul componente che si desidera configurare e quindi fare clic su Proprietà.

  3. Se l'attributo ConstructionEnabled è stato impostato su True, nella scheda Attivazione della finestra di dialogo Proprietà, selezionare la casella di controllo Abilita costruzione di oggetti per abilitare l'utilizzo della stringa di costruzione di oggetti.

  4. Se si desidera modificare la stringa di costruzione predefinita specificata con l'attributo ConstructionEnabled, digitare la stringa di costruzione nella casella Stringa costruttore.

Esempio

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();
     }
    }
}

Vedere anche

Riferimenti

ConstructionEnabledAttribute
System.EnterpriseServices

Concetti

Costruzione di oggetti
Riepilogo dei servizi COM+ disponibili

Footer image

Copyright © 2007 Microsoft Corporation. Tutti i diritti riservati.