Share via


ObjectPoolingAttribute コンストラクター

定義

ObjectPoolingAttribute クラスの新しいインスタンスを初期化します。

オーバーロード

ObjectPoolingAttribute()

ObjectPoolingAttribute クラスの新しいインスタンスを初期化し、EnabledMaxPoolSizeMinPoolSizeCreationTimeout の各プロパティを既定値に設定します。

ObjectPoolingAttribute(Boolean)

ObjectPoolingAttribute クラスの新しいインスタンスを初期化し、Enabled プロパティを設定します。

ObjectPoolingAttribute(Int32, Int32)

ObjectPoolingAttribute クラスの新しいインスタンスを初期化し、MaxPoolSize プロパティと MinPoolSize プロパティを設定します。

ObjectPoolingAttribute(Boolean, Int32, Int32)

ObjectPoolingAttribute クラスの新しいインスタンスを初期化し、EnabledMaxPoolSizeMinPoolSize の各プロパティを設定します。

ObjectPoolingAttribute()

ObjectPoolingAttribute クラスの新しいインスタンスを初期化し、EnabledMaxPoolSizeMinPoolSizeCreationTimeout の各プロパティを既定値に設定します。

public:
 ObjectPoolingAttribute();
public ObjectPoolingAttribute ();
Public Sub New ()

次のコード例では、この属性の使用方法を示します。

#using <System.Windows.Forms.dll>
#using <System.Transactions.dll>
#using <System.EnterpriseServices.dll>

using namespace System;
using namespace System::EnterpriseServices;
using namespace System::Windows::Forms;


[assembly:ApplicationName("ObjectInspector")];
[assembly:ApplicationActivation(ActivationOption::Server)];
[assembly:System::Reflection::AssemblyKeyFile("Inspector.snk")];
[JustInTimeActivation]
[ObjectPooling(MinPoolSize=2,MaxPoolSize=100,CreationTimeout=1000)]
public ref class ObjectInspector: public ServicedComponent
{
public:
   String^ IdentifyObject( Object^ obj )
   {
      // Return this object to the pool after use.
      ContextUtil::DeactivateOnReturn = true;

      // Get the supplied object's type.        
      Type^ objType = obj->GetType();

      // Return its name.
      return (objType->FullName);
   }

protected:
   virtual void Activate() override
   {
      MessageBox::Show( String::Format( "Now entering...\nApplication: {0}\nInstance: {1}\nContext: {2}\n", ContextUtil::ApplicationId.ToString(), ContextUtil::ApplicationInstanceId.ToString(), ContextUtil::ContextId.ToString() ) );
   }

   virtual void Deactivate() override
   {
      MessageBox::Show( "Bye Bye!" );
   }

   // This object can be pooled.
   virtual bool CanBePooled() override
   {
      return (true);
   }
};
using System;
using System.EnterpriseServices;
using System.Windows.Forms;

[assembly: ApplicationName("ObjectInspector")]
[assembly: ApplicationActivation(ActivationOption.Server)]
[assembly: System.Reflection.AssemblyKeyFile("Inspector.snk")]

[JustInTimeActivation]
[ObjectPooling(MinPoolSize=2, MaxPoolSize=100, CreationTimeout=1000)]
public class ObjectInspector : ServicedComponent
{

    public string IdentifyObject (Object obj)
    {
        // Return this object to the pool after use.
        ContextUtil.DeactivateOnReturn = true;

        // Get the supplied object's type.
        Type objType = obj.GetType();

        // Return its name.
        return(objType.FullName);
    }

    protected override void Activate()
    {
        MessageBox.Show( String.Format("Now entering...\nApplication: {0}\nInstance: {1}\nContext: {2}\n",
                                       ContextUtil.ApplicationId.ToString(), ContextUtil.ApplicationInstanceId.ToString(),
                                       ContextUtil.ContextId.ToString() ) );
    }

    protected override void Deactivate()
    {
        MessageBox.Show("Bye Bye!");
    }

    // This object can be pooled.
    protected override bool CanBePooled()
    {
        return(true);
    }
}
Imports System.EnterpriseServices
Imports System.Windows.Forms



<Assembly: ApplicationName("ObjectInspector")> 
<Assembly: ApplicationActivation(ActivationOption.Server)> 
<Assembly: System.Reflection.AssemblyKeyFile("Inspector.snk")> 
 
<JustInTimeActivation(), ObjectPooling(MinPoolSize := 2, MaxPoolSize := 100, CreationTimeout := 1000)>  _
Public Class ObjectInspector
    Inherits ServicedComponent
    
    
    Public Function IdentifyObject(ByVal obj As [Object]) As String 
        ' Return this object to the pool after use.
        ContextUtil.DeactivateOnReturn = True
        
        ' Get the supplied object's type.        
        Dim objType As Type = obj.GetType()
        
        ' Return its name.
        Return objType.FullName
    
    End Function 'IdentifyObject

    Protected Overrides Sub Activate() 
        MessageBox.Show(String.Format("Now entering..." + vbLf + "Application: {0}" + vbLf + "Instance: {1}" + vbLf + "Context: {2}" + vbLf, ContextUtil.ApplicationId.ToString(), ContextUtil.ApplicationInstanceId.ToString(), ContextUtil.ContextId.ToString()))
    
    End Sub

    Protected Overrides Sub Deactivate() 
        MessageBox.Show("Bye Bye!")
    
    End Sub

    ' This object can be pooled.
    Protected Overrides Function CanBePooled() As Boolean 
        Return True
    
    End Function 'CanBePooled

End Class

注釈

のインスタンスの初期プロパティ値を次の ObjectPoolingAttribute表に示します。

プロパティ
Enabled true
MaxPoolSize -1
MinPoolSize -1
CreationTimeout -1

適用対象

ObjectPoolingAttribute(Boolean)

ObjectPoolingAttribute クラスの新しいインスタンスを初期化し、Enabled プロパティを設定します。

public:
 ObjectPoolingAttribute(bool enable);
public ObjectPoolingAttribute (bool enable);
new System.EnterpriseServices.ObjectPoolingAttribute : bool -> System.EnterpriseServices.ObjectPoolingAttribute
Public Sub New (enable As Boolean)

パラメーター

enable
Boolean

オブジェクト プーリングを有効にする場合は true、それ以外の場合は false

次のコード例では、新しい ObjectPoolingAttribute を作成します。

[ObjectPooling(true)]
public ref class ObjectPoolingAttributeCtorBool : public ServicedComponent
{
};
[ObjectPooling(true)]
public class ObjectPoolingAttribute_Ctor_Bool : ServicedComponent
{
}
<ObjectPooling(True)>  _
Public Class ObjectPoolingAttribute_Ctor_Bool
    Inherits ServicedComponent
End Class

適用対象

ObjectPoolingAttribute(Int32, Int32)

ObjectPoolingAttribute クラスの新しいインスタンスを初期化し、MaxPoolSize プロパティと MinPoolSize プロパティを設定します。

public:
 ObjectPoolingAttribute(int minPoolSize, int maxPoolSize);
public ObjectPoolingAttribute (int minPoolSize, int maxPoolSize);
new System.EnterpriseServices.ObjectPoolingAttribute : int * int -> System.EnterpriseServices.ObjectPoolingAttribute
Public Sub New (minPoolSize As Integer, maxPoolSize As Integer)

パラメーター

minPoolSize
Int32

最小プール サイズ。

maxPoolSize
Int32

最大プール サイズ。

次のコード例では、新しい ObjectPoolingAttribute を作成します。

[ObjectPooling(1, 10)]
public ref class ObjectPoolingAttributeCtorIntInt : public ServicedComponent
{
};
[ObjectPooling(1, 10)]
public class ObjectPoolingAttribute_Ctor_Int_Int : ServicedComponent
{
}
<ObjectPooling(1, 10)>  _
Public Class ObjectPoolingAttribute_Ctor_Int_Int
    Inherits ServicedComponent
End Class

適用対象

ObjectPoolingAttribute(Boolean, Int32, Int32)

ObjectPoolingAttribute クラスの新しいインスタンスを初期化し、EnabledMaxPoolSizeMinPoolSize の各プロパティを設定します。

public:
 ObjectPoolingAttribute(bool enable, int minPoolSize, int maxPoolSize);
public ObjectPoolingAttribute (bool enable, int minPoolSize, int maxPoolSize);
new System.EnterpriseServices.ObjectPoolingAttribute : bool * int * int -> System.EnterpriseServices.ObjectPoolingAttribute
Public Sub New (enable As Boolean, minPoolSize As Integer, maxPoolSize As Integer)

パラメーター

enable
Boolean

オブジェクト プーリングを有効にする場合は true、それ以外の場合は false

minPoolSize
Int32

最小プール サイズ。

maxPoolSize
Int32

最大プール サイズ。

次のコード例では、新しい ObjectPoolingAttribute を作成します。

[ObjectPooling(true, 1, 10)]
public ref class ObjectPoolingAttributeCtorBoolIntInt : 
    public ServicedComponent
{
};
[ObjectPooling(true, 1, 10)]
public class ObjectPoolingAttribute_Ctor_Bool_Int_Int : ServicedComponent
{
}
<ObjectPooling(True, 1, 10)>  _
Public Class ObjectPoolingAttribute_Ctor_Bool_Int_Int
    Inherits ServicedComponent
End Class

適用対象