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
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 { … }
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 { … }
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(); } }
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:
Öffnen Sie das Komponentendienste-Verwaltungstool.
Klicken Sie im Komponentendienste-Verwaltungstool mit der rechten Maustaste auf die zu konfigurierende Komponente, und klicken Sie dann auf Eigenschaften.
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.
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
Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.