Freigeben über


Objekterstellung

Durch die COM+-Objekterstellung ist es möglich, Initialisierungsinformationen extern anzugeben, so dass die feste Codierung von Konfigurationsinformationen innerhalb einer Klasse vermieden wird. Durch Objektkonstruktoren, die in Verbindung mit Objektpooling verwendet werden, stehen die Funktionen eines Ressourcenverteilers zur Verfügung, ohne dass eigens ein vollständiger Ressourcenverteiler aufwendig implementiert werden muss.

Die Objekterstellung kann konfiguriert werden, indem das ConstructionEnabledAttribute-Attribut auf eine von der System.EnterpriseServices.ServicedComponent-Klasse abgeleite Klasse angewendet wird.

Im folgenden Beispiel wird der Standardeigenschaftenwert der TestObjectConstruct-Klasse auf die Zeichenfolge "Hello world" festgelegt.

Server

Imports System.EnterpriseServices
Imports System
<assembly: ApplicationName("OCDemo")>

Namespace OCDemo 
<ConstructionEnabled([Default] := "Hello world")> _
      Public Class TestObjectConstruct 
      Inherits ServicedComponent
            Public Sub New()
                  ' First method to be called.
            End Sub 

            Public Overrides Sub Construct(constructString As String)
                  ' Called after constructor.
            End Sub 

            Public Sub DoWork()
            End Sub 
      End Class 
End Namespace 
[C#]
using System;
using System.EnterpriseServices;
[assembly : ApplicationName("OCDemo")]

namespace OCDemo
{
      [ConstructionEnabled(Default="Hello world")]
      public class TestObjectConstruct : ServicedComponent
      {
            public TestObjectConstruct()
            {
                  // First method to be called.
            }
            public override void Construct(string constructString)
            {
                  // Called after constructor.
            }
            public void DoWork () {}
      }
}

Client

Public Class App
      Overloads Public Shared Sub Main()
            Dim order As New TestObjectConstruct()
            order.DoWork()
      End Sub
End Class
[C#]
public class App
{
      public static int Main()
      {
            TestObjectConstruct order = new TestObjectConstruct();
            order.DoWork();
      }
}

Siehe auch

Zusammenfassung verfügbarer COM+-Dienste | ConstructionEnabledAttribute | System.EnterpriseServices-Namespace