IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Conseil pour nommage unique de fichier


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    379
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 379
    Par défaut Conseil pour nommage unique de fichier
    Bonjour,
    J'ai une application C# / ASP.NET qui génère des fichiers de données qui doivent être "uniques" car manipulés pour afficher des cartes. Le pb est que ces fichiers ne doivent pas être "écrasés" (regénérés pendant qu'ils sont utilisés). Actuellement, je me sers d'un login et d'un mot de passe pour identifier la personne, mais cela ne suffit pas car plusieurs personnes peuvent être connectées sous le même profil.

    Exemple de fichier généré :

    ReseauCommune_{0}_{1}.kml

    avec :
    {0} pour l'identifiant de la commune dans ma base
    {1} pour l'identifiant de l'utilisateur

    Dans la mesure où deux utilisateurs seraient connectés sous le même login et consulteraient la cartographie de la même commune...j'aurais un problème (en plus de ne pas avoir de bol )

    Quels conseils me donneriez-vous pour identifier de manière "plus unique" chacun de ces fichiers (IP pas satisfaisante car peut-être IP publique, donc identique pour différentes personnes).

    De plus, il me serait intéressant de reprendre cet identifiant ajouté pour purger les fichiers ayant été générés par un utilisateur lambda lorsqu'il se déconnecte.

    De préférence, j'aimerais donc une solution simple et astucieuse sans avoir à sortir l'artillerie lourde...

  2. #2
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    perso j'aurai fait comme ceci :
    - Donc un dossier qui contient le tout
    - Une classe singleton et synchronisée pour générer les fichiers "vides" qui aurait simplement pris tes identifiants actuels et rajouté 1, 2, 3, etc. à la fin du fichier s'il existe déjà
    - Et une List<string> qui contient la liste des fichiers générés pour chaque utilisateur, ainsi à la déconnexion on parcoure la liste en supprimant tout ce qu'on avait généré ...

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    379
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 379
    Par défaut
    Merci pour la réponse rapide...mais il y a un petit hic...

    Déjà, pour l'instant, je ne fais pas de purge des fichiers générés...et cela s'accumule vite (sauf que les fichiers sont écrasés si un même utilisateur redemande la même chose à un instant t+1)...surtout que ce sont des fichiers pouvant faire plus de 20Mo l'unité...alors pour les multiplier, je ne suis pas très chaud...on peut atteindre plusieurs centaines de Mo par utilisateur et par session (pleins de fichiers générés suivant sa navigation sur le site)...donc multiplier tout cela par N demandes (au cours d'une session) et par X utilisateurs (de même login) ...

    ...mais je n'ai peut être pas tout compris...

    Quand tu dis :
    - Une classe singleton et synchronisée pour générer les fichiers "vides" qui aurait simplement pris tes identifiants actuels et rajouté 1, 2, 3, etc. à la fin du fichier s'il existe déjà
    Je ne vois pas trop ce que tu veux dire...Peux-tu expliciter ?

  4. #4
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Tu peux utiliser un Guid si tu n'as pas besoin d'exploiter le nom du fichier pour une raison ou pour une autre. Ou bien garder ton système et ajouter la date et l'heure, au millième de seconde près par exemple.

  5. #5
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Mais tu peux te fixer une limite de toute façon non ? (et bien sur un historique des fichiers générés).
    Imaginons une carte avec des départements, on pourrai avoir à un certain moment les fichiers :
    User1_75.machin
    User1_72.machin
    User2_75.machin
    User2_75.machin_1

    (en supposant qu'il y ai deux User2 de connectés)
    Et au fur et à mesure que tu crées de nouveaux fichiers, tu supprimes les anciens en laissant un peut de marge afin qu'il puisse revenir en arrière instantanément ...

    ps. ça consomme du CPU de générer un Guid, donc s'il y a énormément de demandes à la seconde ça va se faire sentir, mais moins d'une demande à la seconde c'est gérable ...

  6. #6
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    379
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 379
    Par défaut
    Je vais opter pour l'astuce de StormimOn...non seulement, cela me parait suffisant avec la date et l'heure...mais j'y vois un intérêt double pour purger les fichiers de données éventuellement restant sur le serveur (suite à plantage par exemple)...ou si cela n'a pas pu être fait lors de la déconnexion d'une personne (sait-on jamais)...je pourrais me repérer si cette information de date / heure pour effectuer cette purge, et ce, pour tous les fichiers "périmés" de tous les utilisateurs.

    Merci à tous pour vos réponses.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD14] Conseil pour logiciel gestion de fichiers
    Par Xsara 167 cv dans le forum WinDev
    Réponses: 2
    Dernier message: 08/12/2009, 11h32
  2. Réponses: 6
    Dernier message: 30/01/2008, 00h22
  3. Réponses: 16
    Dernier message: 26/06/2007, 17h25
  4. Cherche conseil pour l'envoi de fichiers
    Par ehmppowa dans le forum Applets
    Réponses: 4
    Dernier message: 17/01/2006, 13h39
  5. Besoin d'un conseil pour une sélection Access/fichier
    Par Oluha dans le forum Bases de données
    Réponses: 1
    Dernier message: 20/03/2005, 19h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo