ObjectPoolingAttribute Класс
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Включает и настраивает пул объектов для компонента. Этот класс не наследуется.
public ref class ObjectPoolingAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class, Inherited=true)]
[System.Runtime.InteropServices.ComVisible(false)]
public sealed class ObjectPoolingAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class, Inherited=true)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
type ObjectPoolingAttribute = class
inherit Attribute
Public NotInheritable Class ObjectPoolingAttribute
Inherits Attribute
- Наследование
- Атрибуты
В следующем примере кода показано использование этого атрибута.
#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
Если указан пул объектов, его не следует отключать в каталоге COM+; Если он включен в каталоге COM+, он должен быть указан в компоненте .
Список начальных значений свойств для экземпляра ObjectPoolingAttributeсм. в конструкторе ObjectPoolingAttribute .
Дополнительные сведения об использовании атрибутов см. в разделе Атрибуты.
Object |
Инициализирует новый экземпляр класса ObjectPoolingAttribute и задает значения по умолчанию для свойств Enabled, MaxPoolSize, MinPoolSize и CreationTimeout. |
Object |
Инициализирует новый экземпляр класса ObjectPoolingAttribute и задает значение свойства Enabled. |
Object |
Инициализирует новый экземпляр класса ObjectPoolingAttribute и задает значения свойств Enabled, MaxPoolSize и MinPoolSize. |
Object |
Инициализирует новый экземпляр класса ObjectPoolingAttribute и задает значения свойств MaxPoolSize и MinPoolSize. |
Creation |
Получает или задает время ожидания доступности объекта в пуле до создания исключения. Это значение задается в миллисекундах. |
Enabled |
Получает или задает значение, указывающее, включен ли пул объектов. |
Max |
Возвращает или задает значение наибольшего размера пула. |
Min |
Получает или задает значение минимального размера пула. |
Type |
В случае реализации в производном классе возвращает уникальный идентификатор для этого атрибута Attribute. (Унаследовано от Attribute) |
After |
Вызывается внутренне инфраструктурой платформы .NET Framework при установке и настройке сборок в каталоге COM+. |
Apply(Hashtable) |
Вызван внутренне инфраструктурой платформы .NET Framework при применении атрибута класса ObjectPoolingAttribute к обслуживаемому компоненту. |
Equals(Object) |
Возвращает значение, показывающее, равен ли экземпляр указанному объекту. (Унаследовано от Attribute) |
Get |
Возвращает хэш-код данного экземпляра. (Унаследовано от Attribute) |
Get |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
Is |
При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса. (Унаследовано от Attribute) |
Is |
Вызывается внутренне инфраструктурой платформы .NET Framework при установке и настройке сборок в каталоге COM+. |
Match(Object) |
При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту. (Унаследовано от Attribute) |
Memberwise |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
To |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
_Attribute. |
Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации. (Унаследовано от Attribute) |
_Attribute. |
Возвращает сведения о типе объекта, которые можно использовать для получения сведений о типе интерфейса. (Унаследовано от Attribute) |
_Attribute. |
Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1). (Унаследовано от Attribute) |
_Attribute. |
Предоставляет доступ к открытым свойствам и методам объекта. (Унаследовано от 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 |
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: