Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CLASSE AVEC QUE DES MEMBRES ET DES MÉTHODES STATIQUES POUR GÉRER LES STATISTIQUES D'UN SITE


Information sur la source

Description

Cette source est juste un exercice de style, suite à un post de coulis dans le forum (http://www.aspfr.com/forum.v2.aspx?ID=570596).
Les statistiques (je stocke la date et le navigateur) sont stockées dans un fichier xml (dont le chemin est dans le web.config… donc pensez à changer ce chemin et à donner les droits qui vont bien… je vous conseille de mettre ce fichier dans le bin de votre webapp).
Le fichier xml est chargé dans un dataset, donc cette source est très facile à adapter si vous voulez utiliser une base de données à la place du fichier xml.
Je sais, c’est tordu comme méthode et pas du tout optimisé, mais pourquoi pas, ça vaut peut-être le coup d’approfondir (en mettant par exemple un dataset en membre statique plutôt qu’un nom de fichier pour éviter de passer notre temps à lire et écrire l’intégralité du fichier xml). Enfin bref, ce n’est qu’un exercice de style, et j’espère que ça va aider un peu coulis.

 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de jesusonline le 01/10/2005 23:35:53 administrateur CS

Pas mal mais ce qui me gene, c'est surtout pour les perf ... :/ et aussi tout ses trucs shared inutile ...

pourquoi tu initialises le chemin dans le global.asax ? la je comprend pas trop. Tu peux directement recuperer le chemin dans ta sub partial

        Dim voDataSet As New DataSet
        dim XmlStatPath = System.Configuration.ConfigurationSettings.AppSettings("XmlStatPath").ToString()
        voDataSet.ReadXml(XmlStatPath)

ca devrait être bon.

et aussi pourquoi tu créer un nouveau fichier à chaque fois que l'application démarre ? si pendant 15min (par défaut je crois) tu n'as plus aucune session active, l'application s'arrete, et à la prochaine requete tu écrases tes stats :/

Donc le startApplication je le ferais dans le addSession. Si il y a un fichier on charge le dataset sinon on créer si il y a erreur, on supprime et on créer un nouveau fichier.

Mais le mieux est quand meme mettre tout ca dans SQL ... et puis pas besoin de dataset :'( tu créer un simple objet :

public class Stat
{
public string IP;
public string browser;
public Date date;
}

A partir de la si tu bosses avec SQL, tu fais une procédure qui prend en paramètre un objet stat et tu rajoute les 3champs dans la base

sinon tu créer un objet qui hérite de collectionBase

[serializable]
public class statCollection : collectionbase
{
public stat Add(string IP, string browser, Date d) // ajout dans l'arraylist interne
}

Ensuite tu n'as plus qu'a serialiser et enregistrer le xml :)

deja niveau perf ca va etre beaucoup plus leger que le dataset ! et tu peux le binder de la meme facon à un datagrid (il me semble)

En esperant que mon commentaire veuille dire quelque chose ,)

Cyril

signaler à un administrateur
Commentaire de tikrimi le 02/10/2005 00:03:01

Je vais essayer de répondre point par point.
Les "shared inutiles" sont là pour montrer à quoi ça peut servir. Si tu regardes bien, jamais un objet clsStat n'est instancié, la propriété XmlStatPath n'est affectée qu'une seule fois (au démarrage de l'application), le chemin du fichier xml n'est pas mis en session ou sauvegardé ailleurs... et pourtant... a chaque fois qu'on demande où se trouve ce fichier on le trouve... à méditer ;-)
Je ne crée pas un fichier xml à chaque fois que l'application démarre, je le crée s'il n'existe pas (pour bien faire il faudrait vérifier aussi si le fichier existant et correct en le validant avec une dtd ou un schéma).
Pour la suite, le SQL oui (mais quand on poste une source c'est toujours chiant, c'est pour ça que j'utilise souvent du xml comme source de données), les perfs, la sérialisation oui, mais là on est très loin de la source de coulis, et le but n'etait de faire un appli pour gérer les stats, mais juste de s'amuser un peu à partir de sa source en espérant l'aider un peu.

Bonne nuit à toi,

TiK

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

compteur de visiteurs [ par PeKKa ] Salut!!!Je recherche qq'un qui s'y connait bien en asp pour m'aider un peu.Voilà mon n° icq pour ceux à qui ça intéresse : 79214366Merci beaucoup!@+ Probleme URGENT [ par jamal ] je voudrais faire un truc similaire à ce site : http://www.expressimmo.comet plus précisément sur la "gestion des annonces" et la "gestion du compte", probleme [ par jamal ] je voudrais faire un truc similaire à ce site : http://www.expressimmo.comet plus précisément sur la "gestion des annonces" et la "gestion du compte", Gestion de langue (fr & us) dans une appli Web [ par CBoisseau ] Bonjour,je m'arrache les cheveux pour gérer 2 langues dans une appli web. J'ai la meme page ASP pour les 2 langues et je prends mes textes d'une base Gestion des erreurs pour l'ouverture d'un fichier texte [ par ypothier ] strFileName = Server.MapPath(Racine + "ecosys.ini")Set FSO = Server.CreateObject("Scripting.FileSystemObject")Set TS = FSO.OpenTextFile(strFileName, F urgent!!!comment faire la gestion d'un panier de commerce electronique [ par koub ] salut tt le mondej'ai un projet de creation d'un site de commerce electroniqueje n'ai pas pu faire le gestiion de panier alors svp aidez c'est urgentm gestion des acces d'une base access [ par moustakiz ] Bonjour,je cherche un module qui permet à un utilisateur de saisir son nom et login lui permettant d'accéder à une base de données access.Merci infos visiteurs [ par elliam ] hello, i'm lostquelqu'un pourrait il me dire se qui cloche dans mon script pour obtenir des infos sur mes visiteurs :<%vIP=request.servervariables( Gestion Bouton radio en vbscript [ par mayserm ] Le but est de composé une url avec différent morceau de formulaire. Exemple :Dans la page en question nous avons un input de type text prénommé user&l ASP prog gestion [ par ronando ] est ce qu'il est facile d'utiliser ASP pour faire des programme de gestion ? cela ressemble t 'il un peu a la creation d'un site ? Si qqun peut donner


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.