Costruzione di oggetti

Nella costruzione di oggetti COM+ è possibile specificare le informazioni di inizializzazione esternamente, eliminando così la necessità di inserirle direttamente nel codice delle classi. Il costruttore di oggetti utilizzato insieme al pool di oggetti fornisce le funzionalità di un distributore di risorse, senza la necessità di implementare un distributore di risorse completo.

È possibile configurare la costruzione di oggetti applicando l'attributo ConstructionEnabledAttribute a una classe derivata da System.EnterpriseServices.ServicedComponent.

Nell'esempio che segue, il valore della proprietà predefinita della classe TestObjectConstruct viene impostato sulla stringa "Hello world".

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

Vedere anche

Riepilogo dei servizi COM+ disponibili | ConstructionEnabledAttribute | Spazio dei nomi System.EnterpriseServices