Archives par mot-clé : Code

Utilisation du cache ASP.NET dans un Web Service asmx

Une des méthodes pour améliorer les performances de son site web est l’utilisation du cache. Ce dernier permet de garder en mémoire des informations afin de ne pas les recalculer à chaque appel. L’utilité de l’objet cache est qu’il permet de définir une politique d’expiration, c’est à dire de définir combien de temps les données enregistrées dans le cache sont valides. Une fois cette durée expirée, la donnée sera supprimée du cache. Celle-ci sera recalculée à l’appel suivant.

Dans une page aspx, l’accès au cache se fait par l’appel à l’objet Cache. Dans un web service (asmx), il faut passer par le contexte Http : HttpContext.Current.Cache

HttpContext ctx = HttpContext.Current;
//Si la valeur est dans le cache on la renvoie
if (ctx.Cache["CachedData"] != null)
{
    return (CachedData)ctx.Cache["CachedData"];
}
//On récupère et on enregistre dans le cache avec une durée de rétention de 7 jours
CachedDataresult = DataManager.GetData();
ctx.Cache.Insert("CachedData", result, null, DateTime.Today.AddDays(7), TimeSpan.Zero);
return result;

Voici le lien vers la page MSDN

Validateur de code JavaScript

Il existe de nombreux outils de validation pour différents langage mais le JavaScript en est assez peu pourvu. C’est pour cela que je vous parle de JsLint. Il permet de vérifier votre code JavaScript. Cet outil a été créé par Douglas Crockford, qui est notamment connu pour avoir participé à la conception du langage JavaScript et le créateur du format JSON.

Cet outil disponible en ligne prend en entrée votre code JS et vérifie un ensemble de règles / bonnes pratiques de développement et vous liste les erreurs.

Un outil indispensable afin d’avoir du code propre et clair. De plus, il m’a permis de découvrir des règles comme utiliser le comparateur d’égalité === au lieu de ==. En effet, le comparateur == n’effectue pas de conversion ce qui peut amener à quelques résultat surprenant :

1 == "1"; // true
false == " nt "; // true
[[],[]] == true; // true

A noter, qu’il existe des plugins pour les principaux IDE :

Il existe également un autre outil, JavaScript Lint. Basé sur JSLint, celui-ci a l’avantage de pouvoir être utilisé en ligne ou installé sur sa machine.

Voici un petit guide en anglais des messages d’erreur remontés par JSLint. Celui-ci n’est pas encore complet, mais il permet de mieux comprendre certaines règles.

Pour la route, quelques liens en français et en anglais sur les bonnes pratiques de développement en
JavaScript :