ObjectPoolingAttribute クラスとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > ObjectPoolingAttribute クラスの意味・解説 

ObjectPoolingAttribute クラス

コンポーネントオブジェクト プーリング有効にして構成します。このクラス継承できません。

名前空間: System.EnterpriseServices
アセンブリ: System.EnterpriseServices (system.enterpriseservices.dll 内)
構文構文

<ComVisibleAttribute(False)> _
<AttributeUsageAttribute(AttributeTargets.Class, Inherited:=True)> _
Public NotInheritable Class
 ObjectPoolingAttribute
    Inherits Attribute
Dim instance As ObjectPoolingAttribute
[ComVisibleAttribute(false)] 
[AttributeUsageAttribute(AttributeTargets.Class, Inherited=true)]
 
public sealed class ObjectPoolingAttribute
 : Attribute
[ComVisibleAttribute(false)] 
[AttributeUsageAttribute(AttributeTargets::Class, Inherited=true)]
 
public ref class ObjectPoolingAttribute sealed
 : public Attribute
/** @attribute ComVisibleAttribute(false) */ 
/** @attribute AttributeUsageAttribute(AttributeTargets.Class, Inherited=true)
 */ 
public final class ObjectPoolingAttribute extends
 Attribute
ComVisibleAttribute(false) 
AttributeUsageAttribute(AttributeTargets.Class, Inherited=true)
 
public final class ObjectPoolingAttribute extends
 Attribute
解説解説
使用例使用例

この属性使用方法コード例次に示します

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 
継承階層継承階層
System.Object
   System.Attribute
    System.EnterpriseServices.ObjectPoolingAttribute
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ObjectPoolingAttribute クラス」の関連用語

ObjectPoolingAttribute クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ObjectPoolingAttribute クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS