Treeview et performance

Le composant Treeview de Visual studio est très complet car on peut suffisamment le customiser pour changer toute son apparence. On peut également l’utiliser avec des méthodes POST ou GET ce qui est très utile. Il a une fonction collapse qui permet d’ouvrir tous les nœud sans aller-retour serveur. Sans écrire une seul ligne de code javascript en déposant seulement le composant et en travaillant sur le code c# il se suffit à lui-même.

Mais il a 2 défauts :

– Le 1er est de ne pas pouvoir fermer les nœuds précédent après avoir cliqué sur le dernier nœud ce qui provoque un manque de clarté de l’arborescence.

– Son 2ème défaut est qu’il se construit à l’ancienne avec des tables imbriquées ce qui le rend – inutilisable – lorsque les rubriques sont trop nombreuses sur un Intranet par exemple.

Donc à chaque problème sa solution

1. Il faut utiliser l’adapter friendly css

a. http://www.asp.net/cssadapters/ et http://www.asp.net/cssadapters/TreeView.aspx

b. http://www.techheadbrothers.com/Astuces.aspx/activer-css-friendly-control-adapters-code

2. Pour le 2ème point charger les nœuds filles au fil des ouvertures manuelles par les utilisateurs.

La dernière solution est de prendre des composants payants qui sont plus aboutis que les composants de bases comme ceux d’ Obout

Asp.Net Membership et sessions anonymes

Après avoir développé énormément sur Asp.net et sql serveur, je m’aperçois qu’il y a un défaut d’optimisation au niveau du système de gestion des membres sur la base de données sql : Des sessions anonymes engorgent la base de données qui gonfle à vue d’œil. Plus il y a de trafic plus la base croit c’est un vrai problème car rien n’a été prévu pour remédier à cela. On peut effectivement supprimer des profils non utilisés depuis un certain temps mais la base une fois qu’elle a prise une certaine taille elle la conserve. Comme il y a une solution à tout il faut prendre aussi  la casquette d’administrateur SQL Serveur et prévoir des tâches de travail de maintenance en supprimant régulièrement ces profils anonymes inutiles.

Voici un lien qui explique de façon précise le problème et donne une solution (Omar al Zabir s’attache particulièrement à la performance) : solution

Je ne vais pas vous donner ma solution car c’est finalement à peu près la même que celle d’Omar.

L’autre point qui peut altérer la performance est l’utilisation à outrance des Unique identifier dans le système SQL de gestion des membres mais là malheureusement on ne peut rien y faire (enfin à ma connaissance).