Прочитать на английском

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


ObjectPoolingAttribute Класс

Определение

Включает и настраивает пул объектов для компонента. Этот класс не наследуется.

[System.AttributeUsage(System.AttributeTargets.Class, Inherited=true)]
[System.Runtime.InteropServices.ComVisible(false)]
public sealed class ObjectPoolingAttribute : Attribute
Наследование
ObjectPoolingAttribute
Атрибуты

Примеры

В следующем примере кода показано использование этого атрибута.

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

Комментарии

Если указан пул объектов, его не следует отключать в каталоге COM+; Если он включен в каталоге COM+, он должен быть указан в компоненте .

Список начальных значений свойств для экземпляра ObjectPoolingAttributeсм. в конструкторе ObjectPoolingAttribute .

Дополнительные сведения об использовании атрибутов см. в разделе Атрибуты.

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

ObjectPoolingAttribute()

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

ObjectPoolingAttribute(Boolean)

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

ObjectPoolingAttribute(Boolean, Int32, Int32)

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

ObjectPoolingAttribute(Int32, Int32)

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

Свойства

CreationTimeout

Получает или задает время ожидания доступности объекта в пуле до создания исключения. Это значение задается в миллисекундах.

Enabled

Получает или задает значение, указывающее, включен ли пул объектов.

MaxPoolSize

Возвращает или задает значение наибольшего размера пула.

MinPoolSize

Получает или задает значение минимального размера пула.

TypeId

В случае реализации в производном классе возвращает уникальный идентификатор для этого атрибута Attribute.

(Унаследовано от Attribute)

Методы

AfterSaveChanges(Hashtable)

Вызывается внутренне инфраструктурой платформы .NET Framework при установке и настройке сборок в каталоге COM+.

Apply(Hashtable)

Вызван внутренне инфраструктурой платформы .NET Framework при применении атрибута класса ObjectPoolingAttribute к обслуживаемому компоненту.

Equals(Object)

Возвращает значение, показывающее, равен ли экземпляр указанному объекту.

(Унаследовано от Attribute)
GetHashCode()

Возвращает хэш-код данного экземпляра.

(Унаследовано от Attribute)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
IsDefaultAttribute()

При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса.

(Унаследовано от Attribute)
IsValidTarget(String)

Вызывается внутренне инфраструктурой платформы .NET Framework при установке и настройке сборок в каталоге COM+.

Match(Object)

При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту.

(Унаследовано от Attribute)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.

(Унаследовано от Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Возвращает сведения о типе объекта, которые можно использовать для получения сведений о типе интерфейса.

(Унаследовано от Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).

(Унаследовано от Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к открытым свойствам и методам объекта.

(Унаследовано от Attribute)

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

Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1