ObjectPoolingAttribute コンストラクタ ()
ObjectPoolingAttribute クラスの新しいインスタンスを初期化し、Enabled、MaxPoolSize、MinPoolSize、CreationTimeout の各プロパティを既定値に設定します。
名前空間: System.EnterpriseServices
アセンブリ: System.EnterpriseServices (system.enterpriseservices.dll 内)
構文
'宣言
Public Sub New
'使用
Dim instance As New ObjectPoolingAttribute
public ObjectPoolingAttribute ()
public:
ObjectPoolingAttribute ()
public ObjectPoolingAttribute ()
public function ObjectPoolingAttribute ()
解説
ObjectPoolingAttribute のインスタンスの初期プロパティ値を次の表に示します。
プロパティ |
値 |
---|---|
Enabled |
true |
MaxPoolSize |
-1 |
MinPoolSize |
-1 |
CreationTimeout |
-1 |
使用例
この属性の使用方法のコード例を次に示します。
Imports System
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 '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
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);
}
}
#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);
}
};
import System.*;
import System.EnterpriseServices.*;
import System.Windows.Forms.*;
/** @assembly ApplicationName("ObjectInspector")
*/
/** @assembly ApplicationActivation(ActivationOption.Server)
*/
/** @assembly System.Reflection.AssemblyKeyFile("Inspector.snk")
*/
/** @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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 2.0、1.1、1.0
参照
関連項目
ObjectPoolingAttribute クラス
ObjectPoolingAttribute メンバ
System.EnterpriseServices 名前空間