다음을 통해 공유


ObjectPoolingAttribute 생성자

정의

ObjectPoolingAttribute 클래스의 새 인스턴스를 초기화합니다.

오버로드

ObjectPoolingAttribute()

ObjectPoolingAttribute 클래스의 새 인스턴스를 초기화하고 Enabled, MaxPoolSize, MinPoolSizeCreationTimeout 속성을 기본값으로 설정합니다.

ObjectPoolingAttribute(Boolean)

ObjectPoolingAttribute 클래스의 새 인스턴스를 초기화하고 Enabled 속성을 설정합니다.

ObjectPoolingAttribute(Int32, Int32)

ObjectPoolingAttribute 클래스의 새 인스턴스를 초기화하고 MaxPoolSizeMinPoolSize 속성을 설정합니다.

ObjectPoolingAttribute(Boolean, Int32, Int32)

ObjectPoolingAttribute 클래스의 새 인스턴스를 초기화하고 Enabled, MaxPoolSizeMinPoolSize 속성을 설정합니다.

ObjectPoolingAttribute()

ObjectPoolingAttribute 클래스의 새 인스턴스를 초기화하고 Enabled, MaxPoolSize, MinPoolSizeCreationTimeout 속성을 기본값으로 설정합니다.

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합니다.

속성
사용 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 클래스의 새 인스턴스를 초기화하고 MaxPoolSizeMinPoolSize 속성을 설정합니다.

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 클래스의 새 인스턴스를 초기화하고 Enabled, MaxPoolSizeMinPoolSize 속성을 설정합니다.

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

적용 대상