オブジェクト構築
COM+ オブジェクト構築を使用すると、外部から初期化情報を指定できるため、クラス内に構成情報をハードコーディングする必要がなくなります。オブジェクト プーリングと組み合わせてオブジェクト コンストラクタを使用すると、リソース ディスペンサの機能が提供されます。そのため、完全なリソース ディスペンサを実装する必要はありません。
オブジェクト構築を設定するには、System.EnterpriseServices.ServicedComponent クラスから派生させたクラスに ConstructionEnabledAttribute 属性を適用します。
TestObjectConstruct
クラスの既定のプロパティ値を文字列 "Hello world" に設定する例を次に示します。
サーバー
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 () {}
}
}
クライアント
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();
}
}
参照
利用可能な COM+ サービスの概要 | ConstructionEnabledAttribute クラス | System.EnterpriseServices