Menu

A

|

A

[Maj] Créer une propriété dans le ViewState

Suite au billet publié récemment sur comment créer une propriété dans le ViewState, l’un de mes collègues (Guillaume ROUCHON) m’a alerté sur le fait que cela pouvait être optimisé. En effet, dans l’exemple précédent, si la propriété est accédée nous affectons une valeur par défaut au ViewState si celle-ci était Null. Par cette action nous faisons grossir le ViewState par des données inutiles vu que la valeur par défaut ne change pas.

Voici donc une méthode qui permet de ne renseigner le ViewState si et seulement si la valeur stockée est différente de sa valeur par défaut :

public string MaProp
{
    get
    {
        object value = this.ViewState["MaProp"];

        if (value != null)
            return ((string)value);

        return (string.Empty);
    }
    set
    {
        this.ViewState["MaProp"] = null;

        if ( !string.IsNullOrEmpty(value) )
            this.ViewState["MaProp"] = value;
    }
}

Par cette simple modification, on affecte le ViewState seulement si la valeur par défaut est différente, ce qui allège sa taille et donc les performances de la page, car cela limite sa taille et son temps de transport sur le réseau.

[Maj] Créer une propriété dans le ViewState

Suite au billet publié récemment sur comment créer une propriété dans le ViewState, l’un de mes collègues (Guillaume ROUCHON) m’a alerté sur le fait que cela pouvait être optimisé. En effet, dans l’exemple précédent, si la propriété est accédée nous affectons une valeur par défaut au ViewState si celle-ci était Null. Par cette action nous faisons grossir le ViewState par des données inutiles vu que la valeur par défaut ne change pas.

Voici donc une méthode qui permet de ne renseigner le ViewState si et seulement si la valeur stockée est différente de sa valeur par défaut :

public string MaProp
{
    get
    {
        object value = this.ViewState["MaProp"];

        if (value != null)
            return ((string)value);

        return (string.Empty);
    }
    set
    {
        this.ViewState["MaProp"] = null;

        if ( !string.IsNullOrEmpty(value) )
            this.ViewState["MaProp"] = value;
    }
}

Par cette simple modification, on affecte le ViewState seulement si la valeur par défaut est différente, ce qui allège sa taille et donc les performances de la page, car cela limite sa taille et son temps de transport sur le réseau.

No Comments

Comments Are Closed