Exporter (0) Imprimer
Développer tout

ObjectPoolingAttribute.MaxPoolSize, propriété

Obtient ou définit la valeur maximale de la taille du pool.

Espace de noms : System.EnterpriseServices
Assembly : System.EnterpriseServices (dans system.enterpriseservices.dll)

public int MaxPoolSize { get; set; }
/** @property */
public int get_MaxPoolSize ()

/** @property */
public void set_MaxPoolSize (int value)

public function get MaxPoolSize () : int

public function set MaxPoolSize (value : int)

Valeur de la propriété

Nombre maximal d'objets dans le pool.

MaxPoolSize représente le nombre maximal d'objets du pool qui seront créés par le gestionnaire du pool, à la fois utilisés activement par les clients et inactifs dans le pool. Lors de la création d'objets, le gestionnaire du pool vérifie que la taille maximale du pool n'a pas été atteinte et, dans ce cas, crée un nouvel objet à remettre au client. Si la taille maximale du pool a été atteinte, les demandes du client sont mises en file d'attente et reçoivent le premier objet disponible du pool dans l'ordre de leur arrivée. Les demandes de création d'objet expirent après une période spécifiée.

L'exemple de code suivant illustre l'utilisation de cette propriété.

[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);
    }

}

/** @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 

  • Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, consultez .

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft