ObjectPoolingAttribute Constructors
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Initializes a new instance of the ObjectPoolingAttribute class.
Overloads
ObjectPoolingAttribute() |
Initializes a new instance of the ObjectPoolingAttribute class and sets the Enabled, MaxPoolSize, MinPoolSize, and CreationTimeout properties to their default values. |
ObjectPoolingAttribute(Boolean) |
Initializes a new instance of the ObjectPoolingAttribute class and sets the Enabled property. |
ObjectPoolingAttribute(Int32, Int32) |
Initializes a new instance of the ObjectPoolingAttribute class and sets the MaxPoolSize and MinPoolSize properties. |
ObjectPoolingAttribute(Boolean, Int32, Int32) |
Initializes a new instance of the ObjectPoolingAttribute class and sets the Enabled, MaxPoolSize, and MinPoolSize properties. |
ObjectPoolingAttribute()
Initializes a new instance of the ObjectPoolingAttribute class and sets the Enabled, MaxPoolSize, MinPoolSize, and CreationTimeout properties to their default values.
public:
ObjectPoolingAttribute();
public ObjectPoolingAttribute ();
Public Sub New ()
Examples
The following code example demonstrates the use of this 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
Remarks
The following table shows initial property values for an instance of ObjectPoolingAttribute.
Property | Value |
---|---|
Enabled | true |
MaxPoolSize | -1 |
MinPoolSize | -1 |
CreationTimeout | -1 |
Applies to
ObjectPoolingAttribute(Boolean)
Initializes a new instance of the ObjectPoolingAttribute class and sets the Enabled property.
public:
ObjectPoolingAttribute(bool enable);
public ObjectPoolingAttribute (bool enable);
new System.EnterpriseServices.ObjectPoolingAttribute : bool -> System.EnterpriseServices.ObjectPoolingAttribute
Public Sub New (enable As Boolean)
Parameters
- enable
- Boolean
true
to enable object pooling; otherwise, false
.
Examples
The following code example creates a new 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
Applies to
ObjectPoolingAttribute(Int32, Int32)
Initializes a new instance of the ObjectPoolingAttribute class and sets the MaxPoolSize and MinPoolSize properties.
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)
Parameters
- minPoolSize
- Int32
The minimum pool size.
- maxPoolSize
- Int32
The maximum pool size.
Examples
The following code example creates a new 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
Applies to
ObjectPoolingAttribute(Boolean, Int32, Int32)
Initializes a new instance of the ObjectPoolingAttribute class and sets the Enabled, MaxPoolSize, and MinPoolSize properties.
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)
Parameters
- enable
- Boolean
true
to enable object pooling; otherwise, false
.
- minPoolSize
- Int32
The minimum pool size.
- maxPoolSize
- Int32
The maximum pool size.
Examples
The following code example creates a new 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