Поделиться через


ObjectPoolingAttribute Конструкторы

Определение

Инициализирует новый экземпляр класса ObjectPoolingAttribute.

Перегрузки

ObjectPoolingAttribute()

Инициализирует новый экземпляр класса ObjectPoolingAttribute и задает значения по умолчанию для свойств Enabled, MaxPoolSize, MinPoolSize и CreationTimeout.

ObjectPoolingAttribute(Boolean)

Инициализирует новый экземпляр класса ObjectPoolingAttribute и задает значение свойства Enabled.

ObjectPoolingAttribute(Int32, Int32)

Инициализирует новый экземпляр класса ObjectPoolingAttribute и задает значения свойств MaxPoolSize и MinPoolSize.

ObjectPoolingAttribute(Boolean, Int32, Int32)

Инициализирует новый экземпляр класса ObjectPoolingAttribute и задает значения свойств Enabled, MaxPoolSize и MinPoolSize.

ObjectPoolingAttribute()

Инициализирует новый экземпляр класса ObjectPoolingAttribute и задает значения по умолчанию для свойств Enabled, MaxPoolSize, MinPoolSize и CreationTimeout.

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 и задает значения свойств 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 и задает значения свойств Enabled, MaxPoolSize и MinPoolSize.

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

Применяется к