ObjectPoolingAttribute.MinPoolSize プロパティ
アセンブリ: System.EnterpriseServices (system.enterpriseservices.dll 内)
構文Dim instance As ObjectPoolingAttribute Dim value As Integer value = instance.MinPoolSize instance.MinPoolSize = value
/** @property */ public int get_MinPoolSize () /** @property */ public void set_MinPoolSize (int value)
プール内のオブジェクトの最小数。
解説MinPoolSize は、アプリケーション起動時に作成されるオブジェクト数と、アプリケーションの実行中にプール内に保持されるオブジェクトの最小数を表します。プール内の使用できるオブジェクト数が指定された最小数より少なくなると、保留状態のオブジェクト要求を満たすだけの新しいオブジェクトが作成され、プールを再び満たします。最小数より多くなると、この数を超えた分のオブジェクトがクリーンアップ サイクル時に破棄されます。
使用例<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 'Activate Protected Overrides Sub Deactivate() MessageBox.Show("Bye Bye!") End Sub 'Deactivate ' This object can be pooled. Protected Overrides Function CanBePooled() As Boolean Return True End Function 'CanBePooled End Class 'ObjectInspector
[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); } }
[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); } };
/** @attribute JustInTimeActivation() */ /** @attribute ObjectPooling(MinPoolSize = 2, MaxPoolSize = 100, CreationTimeout = 1000) */ public class ObjectInspector extends ServicedComponent { public String IdentifyObject(Object obj) { // Return this object to the pool after use. ContextUtil.set_DeactivateOnReturn(true); // Get the supplied object's type. Type objType = obj.GetType(); // Return its name. return objType.get_FullName(); } //IdentifyObject protected void Activate() { MessageBox.Show(String.Format("Now entering...\nApplication: {0}\n" + "Instance: {1}\nContext: {2}\n", ContextUtil.get_ApplicationId().ToString(), ContextUtil.get_ApplicationInstanceId().ToString(), ContextUtil.get_ContextId().ToString())); } //Activate protected void Deactivate() { MessageBox.Show("Bye Bye!"); } //Deactivate // This object can be pooled. protected boolean CanBePooled() { return true; } //CanBePooled } //ObjectInspector
.NET Framework のセキュリティ
プラットフォームWindows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照- ObjectPoolingAttribute.MinPoolSize プロパティのページへのリンク