Verfahrensweise: Konfigurieren der Objektkonstruktion

Das folgende Beispiel und Verfahren beschreibt das Konfigurieren der Objektkonstruktion und das Festlegen der Standard-Initialisierungszeichenfolge der TestObjectConstruct-Klasse auf die Zeichenfolge "Initial Catalog=Northwind;Data Source=.\\SQLServerInstance;Trusted_Connection=yes". Diese Zeichenfolge wird für den Verbindungsaufbau mit einer SQL Server-Datenbank verwendet. Das Thema Objektkonstruktion erläutert darüber hinaus die Verwendung der COM+-Objektkonstruktion aus der ServicedComponent-Klasse.

So konfigurieren Sie die Objektkonstruktion und legen die Standard-Initialisierungszeichenfolge für eine Klasse fest

  1. Definieren Sie eine Klasse, die direkt oder indirekt von der System.EnterpriseServices.ServicedComponent-Klasse abgeleitet wird. Der folgende Code zeigt beispielsweise eine Klasse TestObjectConstruct, die direkt von der System.EnterpriseServices.ServicedComponent-Klasse abgeleitet wird.

    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. Wenden Sie das ConstructionEnabledAttribute-Attribut auf eine Klasse an, und legen Sie die Default-Eigenschaft des Attributs fest. Im folgenden Code wird beispielsweise das ConstructionEnabledAttribute-Attribut auf die TestObjectConstruct-Klasse angewendet und die Default-Eigenschaft auf die SQL Server-Verbindungszeichenfolge festgelegt.

    <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. Setzen Sie die Construct-Methode außer Kraft.

    <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. Erstellen Sie in der Clientanwendung eine Instanz der Komponentenklasse, ohne eine Konstruktionszeichenfolge anzugeben, damit der Standardwert verwendet wird. Im folgenden Code wird beispielsweise eine Instanz der TestObjectConstruct-Klasse erstellt und der Standardwert der Konstruktionszeichenfolge, "Initial Catalog=Northwind;Data Source=.\\SQLServerInstance;Trusted_Connection=yes", verwendet.

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

Nachdem die Komponentendiensteanwendung installiert wurde, können Sie Konstruktionszeichenfolgen mithilfe des Komponentendienste-Verwaltungstools angeben. Führen Sie folgende Schritte aus, um eine Objekt-Konstruktionszeichenfolge für eine Komponente einzugeben:

  1. Öffnen Sie das Komponentendienste-Verwaltungstool.

  2. Klicken Sie im Komponentendienste-Verwaltungstool mit der rechten Maustaste auf die zu konfigurierende Komponente, und klicken Sie dann auf Eigenschaften.

  3. Wenn das ConstructionEnabled-Attribut nicht auf True festgelegt ist, aktivieren Sie im Dialogfeld Eigenschaften auf der Registerkarte Aktivierung das Kontrollkästchen Objektkonstruktion aktivieren, um die Verwendung der Objekt-Konstruktionszeichenfolge zu aktivieren.

  4. Wenn Sie die mit dem ConstructionEnabled-Attribut angegebene Standard-Konstruktionszeichenfolge ändern möchten, geben Sie die Konstruktionszeichenfolge in das Feld Konstruktorzeichenfolge ein.

Beispiel

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

Siehe auch

Referenz

ConstructionEnabledAttribute
System.EnterpriseServices

Konzepte

Objektkonstruktion
Zusammenfassung der verfügbaren COM+-Dienste

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.