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

C# Discussion :

Tester une archive créée par GZipStream


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 2
    Par défaut Tester une archive créée par GZipStream
    Salut, en ce moment je suit sur un projet plutôt dynamique et il y a toujours des nouveaux module à ajouter, des nouveaux calcule à faire ... enfin le développement n'en fini jamais. il y a 2 version dans ce projet, une version web (avec asp.net/sql server) et une version windows client/server ( c#/sql server). pour la version web il n' y a pas de problème, mais pour la version windows à chaque fois ou il y a de modification je dois l’installer mois même (les agents de saisie n'ont pas le droit d’installer et il n' y a pas toujours un responsable informatique au niveau des centres et il y a pas moins de 200 centres, une vrai corvée quoi)
    enfin je vous passe tous les détails, alors j'ai développé un module avec base de donnés qui contient les noms et les versions de toutes les fichiers de l'application et qui se lance au démarrage de l'application et compare sa base de données avec celle au niveau du serveur et télécharge les nouveaux fichiers ou les fichiers modifié.
    désolé pour cette longue intro mais ça m'as paru essentielle pour bien expliquer mon problème.
    LE PROBLÈME EST:
    voila la mis à jour se passe bien dans la majorité des cas mais parfois (suite à des problèmes de connexion internet j'imagine) les fichiers téléchargés sont corrompu.
    * j'utilise la classe GZipStream pour compresser et décompresser les fichiers de mis à jour
    * et j'utilise la fonction DownloadFileAsync de la classe WebClient pour télécharger les fichiers

    Mon idée est soit vérifier si l'archive .gz est corrompu avant de le décompresser ou une fois le téléchargement des fichiers est terminer je les compare avec leur tailles sur le serveur, mais je trouve pas comment le faire

    Alors si quelqu'un à une idée je suis preneur ^^

  2. #2
    Membre émérite Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Par défaut
    Je ne sais pas si la Méthode Read du GzipStream peut déclencher une exception si le fichier est corrompu, sinon au moment ou tu décompresses le fichier si tu as l'exception ZlibException qui a un rapport avec le CRC c'est que tu as un souci. La vérification de la tailles n'est pas fiable, d'ou l’intérêt du CRC.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 2
    Par défaut
    Merci chamamo pour ta réponse. Au faite j'ai essayé plusieurs code pour vérifier le fichier gz sans succès alors j'ai opté pour utilisé l'utilitaire 7zip via un commande dos
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    try
                {
                    Process testProcess = Process.Start(@System.IO.Directory.GetCurrentDirectory() + @"\7zip\7z.exe", @" t "+@FileName);            
                    testProcess.WaitForExit();
                    if(testProcess.ExitCode==0){
                          //l'archive est bon
                    }
                    else{
                          //l'archive contient une erreur
                    }
                }
    et si je trouve mieux je posterai la solution ou si quelqu'un à une meilleur idée je suis toujours la ^^

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/07/2007, 12h12
  2. [C# 2.0] Tester une application déclencher par evenement
    Par Khrysby dans le forum Général Dotnet
    Réponses: 7
    Dernier message: 10/07/2007, 14h21
  3. Inersert dans une table crée par les cardinalités [*,*]
    Par drasalmed dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/05/2007, 18h27
  4. Réponses: 3
    Dernier message: 27/09/2006, 15h38
  5. [GD] pb affichage d'une image créée par GD depuis ma base MySQL
    Par freddy92110 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 30/12/2005, 15h50

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